我已经尝试为存储产品单价的字段创建验证,我遇到验证显示如何检查整数,但我找不到一个浮点数的东西,格式如{ YII2 中的{1}}。提前谢谢。
*
在Abilay指示后我尝试了
[['量'' round_off&#39],'数'' numberPattern' =>&#39 ?。; [ - +] [0-9] * [0-9] + | [0-9] +&#39],
但它在控制台中显示错误。
答案 0 :(得分:0)
我认为,重新定义NumberValidator类的numberPattern将对您的情况有所帮助。
如果您在表单上使用AJAX Validator:
[['quantity','round_off'], 'number',
'numberPattern' => '/^\d+(.\d{1,2})?$/'],
在视图中:
确保在创建表单时启用了AJAX验证
$form = ActiveForm::begin([
'id' => 'my-form',
'enableAjaxValidation' => true,
]);
并将字段更改为默认输入
$form->field($model, 'quantity')
在控制器中:
包含文件:
use yii\web\Response;
use yii\widgets\ActiveForm;
过去这段代码在行动开始之后
$model
已加载或创建
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}