jQuery 验证 addMethod 元素转换为字符串
jQuery validation addMethod element convert to a string
我有这个代码
jQuery.validator.addMethod( "multi_select", function( value, element , params ) {
var string = element.toString();
console.log(string);
}, 'Please select atleast one element.');
我想获取字符串形式的元素值。我怎样才能做到这一点 ??
如果您只想检查至少一个项目被 select 编入多个 select 元素中,那么只需使用所需的规则
jQuery(function($) {
var validator = $('#myform').validate({
rules: {
multi: {
required: true
}
},
messages: {}
});
});
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>
<form id="myform" method="post" action="">
<select name="multi" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<input type="submit" value="Save" />
</form>
但是如果你想实现自己的逻辑,传递给方法的 value
参数将是 input/select 元素的值,如果是多个 select 元素它将是一个数组(如果没有项目是 selected 则为空)所以
jQuery.validator.addMethod("multi_select", function(value, element, params) {
console.log(value)
return value && value.length > 0
}, 'Please select atleast one element.');
jQuery(function($) {
var validator = $('#myform').validate({
rules: {
multi: {
multi_select: true
}
},
messages: {}
});
});
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>
<form id="myform" method="post" action="">
<select name="multi" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<input type="submit" value="Save" />
</form>
我有这个代码
jQuery.validator.addMethod( "multi_select", function( value, element , params ) {
var string = element.toString();
console.log(string);
}, 'Please select atleast one element.');
我想获取字符串形式的元素值。我怎样才能做到这一点 ??
如果您只想检查至少一个项目被 select 编入多个 select 元素中,那么只需使用所需的规则
jQuery(function($) {
var validator = $('#myform').validate({
rules: {
multi: {
required: true
}
},
messages: {}
});
});
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>
<form id="myform" method="post" action="">
<select name="multi" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<input type="submit" value="Save" />
</form>
但是如果你想实现自己的逻辑,传递给方法的 value
参数将是 input/select 元素的值,如果是多个 select 元素它将是一个数组(如果没有项目是 selected 则为空)所以
jQuery.validator.addMethod("multi_select", function(value, element, params) {
console.log(value)
return value && value.length > 0
}, 'Please select atleast one element.');
jQuery(function($) {
var validator = $('#myform').validate({
rules: {
multi: {
multi_select: true
}
},
messages: {}
});
});
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>
<form id="myform" method="post" action="">
<select name="multi" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<input type="submit" value="Save" />
</form>