gpt4 book ai didi

jquery - jQuery 在选择列表上验证的问题

转载 作者:行者123 更新时间:2023-12-01 04:16:53 25 4
gpt4 key购买 nike

我已经看到了大量如何在选择列表上使用 jQuery 验证的示例 - 我正在尝试实现一个,但它对我来说不起作用。总的来说,我对这个插件真的很陌生,我只是对我做错了什么感到完全困惑。

预期的行为是,它不应验证用户是否将选择菜单保留为“默认”。他们必须做出选择。

我首先连接新的验证器方法。

Javascript

(function($) {
$.validator.addMethod('mustbe', function(value, element, params) {
var testValue = params['propertyvalue'];
var condition = params['condition'];
if ((condition == '0') && (value != testValue)) return true;
if ((condition == '1') && (value == testValue)) return true;
return false;
});
})(jQuery);

$(document).ready(function() {
$("#form1").validate();

$('#form1').submit(function() {
alert($('#form1').valid());
});
});​

然后我将元数据添加到实际的 HTML 中。

HTML

<form id="form1" action="">
<select id="select_list" data-val="true"
data-val-mustbe="You must select a value"
data-val-mustbe-condition="0"
data-val-mustbe-propertyvalue="default"
data-val-required="You must select a value" >
<option value="default">Choose...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" id="submit" value="Submit" />
</form>​

它只是拒绝验证。这也是 fiddle 的链接:

jsFiddle

最佳答案

您应该告诉您正在使用 ASP.NET MVC。这无济于事,但人们将不再询问自定义属性名称。

我重新设计了您的代码,以使用默认值和 data-val 属性。这是一个代码示例:

$(document).ready(function() {    
$.validator.addMethod("valueNotEquals", function(value, element, arg){
return arg != value;
}, "");

$("#form1").validate({
rules: {
select_list : {valueNotEquals: $('#select_list').attr('data-val-mustbe-propertyvalue')},
},
messages: {
select_list : { valueNotEquals: $('#select_list').attr('data-val-required') }
},
submitHandler: function(form) {
alert($('#form1').valid());
form.submit();
}
});
});

编辑:

这是一个 jsFiddle 示例:http://jsfiddle.net/Gajotres/ekPpS/

这是一个没有 ASP.NET MVC 属性的版本:

<form id="form1" action="">
<select id="select_list" name="select_list">
<option value="default">Choose...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" id="submit" value="Submit" />
</form>

$(document).ready(function() {
$.validator.addMethod("valueNotEquals", function(value, element, arg){
return arg != value;
}, "");

$("#form1").validate({
rules: {
select_list : {valueNotEquals: "default"},
},
messages: {
select_list : { valueNotEquals: "You must select a value" }
},
submitHandler: function(form) {
alert($('#form1').valid());
form.submit();
}
});
});

关于jquery - jQuery 在选择列表上验证的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com