我有一个表格
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
<?php echo $form->field($userformmodel, 'user_image')->fileInput(); ?>
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)
我正在上传表单中的文件并提交
In the model I have written the code as
public function rules()
{
return [
[['user_image'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg']
];
}
public function upload()
{
if ($this->validate()) {
$this->user_image->saveAs('uploads/' . $this->user_image->baseName . '.' . $this->user_image->extension);
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中
public function actionProfile()
{ …Run Code Online (Sandbox Code Playgroud) yii2 yii2-advanced-app yii2-basic-app yii2-model yii2-validation
我想显示电话号码的最大长度和最小长度的自定义验证消息。我编写了此代码来显示电话号码字段的最大长度和最小长度的自定义验证消息。
['phone', 'string', 'max' => 12, 'min' => 8, 'message' => 'Please enter a valid Phone number.']
Run Code Online (Sandbox Code Playgroud)
验证运行良好,但未显示自定义消息。每次都显示这个默认的 yii2 消息“电话应该包含最多 12 个字符。”
预先感谢您的帮助。
您可以在 yii2 的模型规则中输入密码模式吗?关于至少一个大写字符和至少一个数字的规则的提示?非常感谢
规则
['password', 'pattern' => '(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20}'],Run Code Online (Sandbox Code Playgroud)
我有一个在弹出窗口中打开的表单,所以我想通过 ajax 验证来验证我的表单,但是当我点击提交按钮时,我的页面会刷新,所以我没有收到任何验证错误
查看文件:
<?php $form = ActiveForm::begin([
'id' => 'signup-form',
'enableAjaxValidation' => true,
//'action' => Url::toRoute('user/ajaxregistration'),
'validationUrl' => Url::toRoute('user/ajaxregistration')
]); ?>
<div class="col-md-12">
<div class="formbox">
<div class="inputbox signup">
<div class="input-group"> <span class="input-group-addon"><i class="glyphicon name"></i></span>
<?= Html::textInput('userFullName', '', ['placeholder' => "Name",'class'=>'form-control']); ?>
</div>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)
控制器文件:
public function actionValidate() {
$model = new SignupForm;
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model); \Yii::$app->end();
}
}
Run Code Online (Sandbox Code Playgroud)
型号代码:
return [
['userFullName', 'trim'],
['userFullName', 'required'],
];
Run Code Online (Sandbox Code Playgroud)
请建议我应该怎么做,以便我的页面不会被刷新,并且我会收到验证错误