Yii2验证 - 允许数字中的逗号和点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2验证 - 允许数字中的逗号和点相关的知识,希望对你有一定的参考价值。

我有数字可以是严格的数字或可以采取这种格式12,314.00(逗号将分隔长数字和点数用于小数。

如何以这种方式格式化数字时,如何防止必须是数字错误?

答案

修改验证器的“numberPattern”:http://www.yiiframework.com/doc-2.0/yii-validators-numbervalidator.html# $ numberPattern-detail

另一答案

好吧,我们有一个Masked输入选项,这样你就可以强制用户以所需的格式输入前端的数字,并以正常形式保存。掩码文本字段基于jQuery input masked plugin实现

enter image description here

你可以像使用它们一样

echo MaskedInput::widget([
    'name' => 'price',
    'mask' => '99,999.99$',
]);

或者像这样的ActiveForm

<?= $form->field($model, 'price')->widget(yiiwidgetsMaskedInput::className(), [
    'mask' => '99,999.99$',
]) ?>

这样你仍然可以将数字保持在数据库中的正常形式,即12532.05,并使用Masked Input随时以上述格式显示它。

以上是关于Yii2验证 - 允许数字中的逗号和点的主要内容,如果未能解决你的问题,请参考以下文章

@NumberFormat 接受逗号和点,如何在 InitBinder 中实现

如何在laravel中格式化为包含逗号和点的十进制数?

Xamarin.Forms:如何只允许数字和点

NumericUpDown:接受逗号和点作为小数分隔符

javascript中0-255和点的IP地址验证[重复]

Yii2.0自定义验证码