所以我在 Yii 的模型中有这些规则:
array('svalue','numerical'),
由于这些是数字(稍后它们将用于计算),我想将其保存为数字。
客户虽然要求使用逗号“,”分隔千位(1,200 = 千两百)来格式化数字。我在项目上使用的前任
$.fn.digits = function(){
return this.each(function(){
$(this).keyup(function(){
$(this).val( $(this).val().replace(/,/g,"").replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
});
})
}
我添加了 keydown 功能,这样您就不能输入除数字之外的任何其他字符。
不幸的是,现在 jquery.digits() 函数正确地将任何数字格式化为数千 - 但 yii 显然会生成一些代码,然后在表单验证时它说“svalue must be a number”。
我怎样才能同时拥有这两个功能,获得客户想要的格式化字符串,并在 Yii 后端进行数字检查?