是驗證的行爲。我會用jQuery打開一個問題,看他們是否可以(或者想要)解決它。
在此同時,你可以像自己的驗證方法,這樣它的行爲如你所願:
$.validator.addMethod('myValidateNumber', function (value) {
return /^(\d\.|\.)?\d+$/.test(value);
}, 'Please enter a valid number');
此正則表達式出現做你的願望 - 有可能是一個更好的辦法寫它以及。我不是正則表達式的主人,但這應該就夠了。
然後,只需在任何你正在驗證class
使用myValidateNumber
。你可以閱讀更多關於擴展jQuery驗證here。
編輯:連接到MVC3 - 看看這個StackOverflow後:Perform client side validation for custom attribute。
從本質上講就是我們正在做的是創造我們自己的這一驗證,並且你可以使用自己的屬性模型。
編輯2:看起來如果您使用validator.addMethod('number'...
,它會更改數字驗證的默認行爲。這意味着你不應該改變你的MVC模型。所以基本上,將此添加到您的頁面加載:
$.validator.addMethod('number', function (value) {
return /^(\d\.|\.)?\d+$/.test(value);
}, 'Please enter a valid number');
應該解決問題。
相似/ duplicate到http://stackoverflow.com/questions/3129150/jquery-validation-allow-number-without-the-leading-zero/4056007 – boflynn