我有数字可以是严格的数字或可以采取这种格式12,314.00(逗号将分隔长数字和点数用于小数。
如何以这种方式格式化数字时,如何防止必须是数字错误?
修改验证器的“numberPattern”:http://www.yiiframework.com/doc-2.0/yii-validators-numbervalidator.html# $ numberPattern-detail
好吧,我们有一个Masked
输入选项,这样你就可以强制用户以所需的格式输入前端的数字,并以正常形式保存。掩码文本字段基于jQuery input masked plugin
实现
你可以像使用它们一样
echo MaskedInput::widget([
'name' => 'price',
'mask' => '99,999.99$',
]);
或者像这样的ActiveForm
<?= $form->field($model, 'price')->widget(\yii\widgets\MaskedInput::className(), [
'mask' => '99,999.99$',
]) ?>
这样你仍然可以将数字保持在数据库中的正常形式,即12532.05
,并使用Masked Input随时以上述格式显示它。