简体   繁体   English

在Jquery验证插件中使用自己的自定义消息和规则验证选择框

[英]Validate select box with own custom message and rule in Jquery validation plugin

When i am using jquery validation plugin it didnot work correctly for my dropdown box.. 当我使用jquery验证插件时,它对我的​​下拉框没有正常工作..

My html code is 我的HTML代码是

<select class="control-select form-control" name="job_title" id="job_title" >
  <option value="Select Role">-- Select Role--</option>                              
  <option value="Admin" {{ ($admin->job_title=="Admin") ? "selected" : "" }}>Admin</option>
  <option value="Subadmin" {{ ($admin->job_title=="Subadmin") ? "selected" : "" }}>Subadmin</option>
  <option value="Superadmin" {{ ($admin->job_title=="Superadmin") ? "selected" : "" }}>Superadmin</option>
</select>

And inside jquery validation rule i gave like this 在jquery验证规则中我给出了这样的

"job_title": {
    required: true
},

but is didnot worked so whats the alternate way to make select box as required field 但是没有工作,所以如何使选择框作为必填字段的替代方式

It is working perfect,the issue is in your html, check this line: 它工作正常,问题出在你的html中,检查这一行:

<option value="Select Role">-- Select Role--</option>  

To validate dropdown using validation plugin, you have to pass the first dropdown value as blank like: 要使用验证插件验证下拉列表,您必须将第一个下拉值传递为空白,如:

<option value="">-- Select Role--</option>  

Try this, it will solve your problem. 试试这个,它会解决你的问题。

Explanation: require validation will check for value attribute, but in your case the value is there value="Select Role" , so make the first dropdown value blank. 说明: require验证将检查value属性,但在您的情况下,值为value="Select Role" ,因此将第一个下拉列值设为空。

Working Fiddle 工作小提琴

Need to replace value="Select Role" with value="" like below:- 需要更换value="Select Role"value=""象下面这样: -

Example:- 例:-

 $(document).ready(function() { $("#signupForm").validate({ rules: { "job_title": { required: true }, } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script> <form id="signupForm"> <select class="control-select form-control" name="job_title" id="job_title"> <option value="">-- Select Role--</option> <option value="Admin">Admin</option> <option value="Subadmin">Subadmin</option> <option value="Superadmin">Superadmin</option> </select> <input type ="submit" value = "click me"> </form> 

Reference taken:- Can I apply the required attribute to <select> fields in HTML5? 参考: - 我可以将所需属性应用于HTML5中的<select>字段吗?

You can try like this: 你可以尝试这样:

$("form").validate({
  rules: {
  job_title: { valueNotEquals: "default" }
  },
  messages: {
  job_title: { valueNotEquals: "Please select field" }
  }  
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM