如何在Yii2中创建带有两位小数的浮点验证?

时间:2015-10-14 11:04:11

标签: yii2-basic-app

我已经尝试为存储产品单价的字段创建验证,我遇到验证显示如何检查整数,但我找不到一个浮点数的东西,格式如{ YII2 中的{1}}。提前谢谢。

*

  

在Abilay指示后我尝试了

  • [['量'' round_off&#39],'数'' numberPattern' =>&#39 ?。; [ - +] [0-9] * [0-9] + | [0-9] +&#39],

但它在控制台中显示错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为,重新定义NumberValidator类的numberPattern将对您的情况有所帮助。

如果您在表单上使用AJAX Validator:

  1. 模特:
        [['quantity','round_off'], 'number', 'numberPattern' => '/^\d+(.\d{1,2})?$/'],
  2. 在视图中:
    确保在创建表单时启用了AJAX验证     $form = ActiveForm::begin([ 'id' => 'my-form', 'enableAjaxValidation' => true, ]);
    并将字段更改为默认输入
        $form->field($model, 'quantity')

  3. 在控制器中:
    包含文件:
        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); }