我尝试为存储产品单价的字段创建验证,我遇到了显示如何检查整数的验证,但我找不到一个浮点数的格式2032.95
,如YII2。提前致谢。
*
在 Abilay 指示后,我尝试了
[['quantity','round_off'],'number','numberPattern'=>'[-+]?[0-9]*.[0-9]+|[0-9]+'],
但它在控制台中显示错误。
我尝试为存储产品单价的字段创建验证,我遇到了显示如何检查整数的验证,但我找不到一个浮点数的格式2032.95
,如YII2。提前致谢。
*
在 Abilay 指示后,我尝试了
[['quantity','round_off'],'number','numberPattern'=>'[-+]?[0-9]*.[0-9]+|[0-9]+'],
但它在控制台中显示错误。
我认为,重新定义NumberValidator 类的numberPattern将对您的情况有所帮助。
如果您在表单上使用 AJAX 验证器:
[['quantity','round_off'], 'number',
'numberPattern' => '/^\d+(.\d{1,2})?$/'],
在视图中:
确保在创建表单
$form = ActiveForm::begin([
'id' => 'my-form',
'enableAjaxValidation' => true,
]);
并将字段更改为默认输入时启用 AJAX 验证
$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);
}