jQuery Validate Required Select

我正在尝试使用jQuery Validate插件来验证html select元素。我将“ required”规则设置为true,但是它始终通过验证,因为默认情况下选择了零索引。有什么方法可以定义所需规则使用的空值?


UPD。例。假设我们有以下html控件:


<select>

  <option value="default">Choose...</option>

  <option value="1">1</option>

  <option value="2">2</option>

</select>

我希望验证插件使用“默认”值为空。


PIPIONE
浏览 865回答 3
3回答

慕桂英546537

您可以编写自己的规则!&nbsp;// add the rule here&nbsp;$.validator.addMethod("valueNotEquals", function(value, element, arg){&nbsp; return arg !== value;&nbsp;}, "Value must not equal arg.");&nbsp;// configure your validation&nbsp;$("form").validate({&nbsp; rules: {&nbsp; &nbsp;SelectName: { valueNotEquals: "default" }&nbsp; },&nbsp; messages: {&nbsp; &nbsp;SelectName: { valueNotEquals: "Please select an item!" }&nbsp; }&nbsp;&nbsp;&nbsp;});

慕容708150

将值设为空并添加必需的属性<select id="select" class="required"><option value="">Choose an option</option>&nbsp;<option value="option1">Option1</option><option value="option2">Option2</option><option value="option3">Option3</option></select>

慕神8447489

我不知道在问问题时(2010年)插件的情况如何,但是我今天遇到了同样的问题,并通过以下方式解决了该问题:给您的选择标签一个名称属性。例如在这种情况下<select name="myselect">不必使用标签选项中的属性value =“ default”,而是禁用默认选项或按照Andrew Coats的建议设置value =“”<option disabled="disabled">Choose...</option>要么<option value="">Choose...</option>设置插件验证规则$( "#YOUR_FORM_ID" ).validate({&nbsp; &nbsp; rules: {&nbsp; &nbsp; &nbsp; &nbsp; myselect: { required: true }&nbsp; &nbsp; }});要么<select name="myselect" class="required">Obs:Andrew Coats的解决方案仅在您的表单中只有一个选择时才有效。如果您希望他的解决方案可以使用多个选项,请在您的选择中添加名称属性。希望能帮助到你!:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery