asp.net mvc c#專案
validation驗證如下:
// 數値最大値判斷
$.validator.addMethod('numbermax', function (value, element, param) {
if (value == "") {
return true;
}
value = value.replace(/,/g, "");
if (checkNumber(value)) {
return Number(value) <= Number(param);
}
else {
return true;
}
});
$.validator.unobtrusive.adapters.addBool("numbermax");
View中專案設定如下(appendgrid插件給專案添加【numbermax】驗證):
...
{
//單價
name: 'UNIT_AMT',
display: '單價',
type: 'tel',
displayCss: { 'min-width': '6rem' },
ctrlAttr: {
required: true,
number: true,
numbermax: 9999999
},
ctrlClass: 'text-right'
},
...
messages_xx.js 錯誤資訊如下:
numbermax: "超過了最大値{0}",
執行結果如下:

請問如何將錯誤資訊引數格式化?(三位一逗號)
即:
超過了最大値 9,999,999
uj5u.com熱心網友回復:

$(document).ready(function () {
// 數値最大値判斷
$.validator.addMethod('numbermax', function (value, element, param) {
if (value == "") {
return true;
}
value = value.replace(/,/g, "");
if (value) {
return Number(value) <= Number(param);
}
else {
return true;
}
}, function (a, b, c) {
return "大了大了"; //這里是默認的提示
});
$("#commentForm2").validate({
rules: {//配置表單項校驗的規則
numbermax: {
required: true,
numbermax: 999999
},
numbermax2: {
required: true,
numbermax: 100
}
},
messages: {
email: {
required: 'Enter this!'
},
numbermax: {
numbermax: function (a, b, c) {
debugger;
var str = $(b).val();
return "輸入的值" + str.replace(/(\d{1,3})(?=(\d{3})+$)/g, '$1,') + '大于' + a;
}
}
}
});
});
<form class="cmxform" id="commentForm2" method="post" action="">
<fieldset>
<p>
numbermax(999999):
<input type="text" value="" id="numbermax" name="numbermax" />
</p>
<p>
numbermax2(100):
<input type="text" value="" id="numbermax2" name="numbermax2" />
</p>
<p>
<label for="czipCode">中國郵編</label>
<input id="czipCode" name="zipCode" />
</p>
</fieldset>
</form>
uj5u.com熱心網友回復:
第九行的if (value)改回你的判斷邏輯,提示訊息可以用字串,或者使用$.validator.format("訊息字串{0}{1}")這樣的,也可以自定義函式,像上面的那樣uj5u.com熱心網友回復:
謝謝,不過準確來說我要用appendgrid的Validation驗證
因此我需要思考怎么覆寫原錯誤訊息...
你的回答給我提供了思路,我需要好好想想如何應用了
https://appendgrid.apphb.com/Demo/Validation
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/76985.html
標籤:JavaScript
下一篇:最近做畢設遇到一個問題,no element is specified to initialize PerfectScrollbar
