[ASP.NET MVC] Decimal Validation에서 콤마 오류

2013. 9. 5. 11:51WEB

ASP.NET MVC에서 Unobtrusive Validation과 Range Validation을 이용할 경우, 숫자에 콤마가 섞이면 제대로 동작하지 않는 경우를 볼 수 있습니다.

이 경우 jquery.validate.js를 수정하는 방법도 있지만, 그것 보다는 아래와 같은 코드를 통해서 override하는 방법을 이용하셔서 해결하실 수 있습니다.

$.validator.methods.range = function(value, element, param) {
    var globalizedValue = value.trim(',').join('');
    return this.optional(element) || (globalizedValue >= param[0] && globalizedValue <= param[1]);
};

$.validator.methods.number = function(value, element) {
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value.trim(',').join(''));
};

Reference