0

我尝试为存储产品单价的字段创建验证,我遇到了显示如何检查整数的验证,但我找不到一个浮点数的格式2032.95,如YII2。提前致谢。

*

在 Abilay 指示后,我尝试了

  • [['quantity','round_off'],'number','numberPattern'=>'[-+]?[0-9]*.[0-9]+|[0-9]+'],

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

在此处输入图像描述

4

1 回答 1

0

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


如果您在表单上使用 AJAX 验证器:

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

于 2015-10-14T13:06:29.720 回答