![](/img/trans.png)
[英]JQuery validator.addMethod to validate checkboxes using class names
[英]Using JQuery.Validator AddMethod to validate stock symbol
我是編碼的新手,我不確定在這里做錯什么,但是我只是用幾種股票代碼來驗證輸入形式。 當我提交不在數組中的符號時,我不會收到錯誤消息。 我的代碼如下。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.js"></script>
<script>
jQuery.validator.addMethod("vsymbol", function(value)
{
var symbols = ["GOOG", "AAPL", "MSFT", "DIS"];
var in_array = $.inArray(value.toUpperCase(), symbols);
if (in_array == -1)
{
return false;
}
else
{
return true;
}
}, "Not a valid stock symbol");
$("#myform").validate(
{
rules: {
symbol: {
required: true,
symbol: true
}
}
}
);
</script>
<body>
<form id="myform" >
<label for="symbol">Ticker</label>
<input name="symbol" type="text" class="vsymbol" />
</form>
</body>
請在$(document).ready(function(){})中包裝您的代碼,以便在dom加載后初始化此函數
您已經創建了一個名為vsymbol
的新規則。 但是,在使用它時,您將其拼寫為symbol
。 您必須正確引用它才能使用它...
$("#myform").validate({
rules: {
symbol: { // <- name of the field
required: true,
vsymbol: true // <- name of the rule
}
}
});
如果您已經通過上面的rules
對象分配了規則,那么在字段的class
再次分配它完全是多余的。 只需使用其中一個即可。
<input name="symbol" type="text" class="vsymbol" />
另外,由於表單的HTML標記位於JavaScript之后,因此jQuery需要包裝在DOM ready事件處理程序中。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.js"></script>
<script>
$(document).ready(function() { // DOM ready event handler
jQuery.validator.addMethod("vsymbol", function(value) {
var symbols = ["GOOG", "AAPL", "MSFT", "DIS"];
var in_array = $.inArray(value.toUpperCase(), symbols);
return (in_array == -1) ? false : true;
}, "Not a valid stock symbol");
$("#myform").validate({
rules: {
symbol: { // <- name of the field
required: true,
vsymbol: true // <- name of the rule
}
}
});
});
</script>
您可能需要閱讀有關在JavaScript中使用Allman編碼樣式的信息 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.