رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
عدم نمایش Error ها در فرم
#1
سلام دوستان

چرا این فرم خطاها را نشان نمیدهد؟

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
use yiihelpersHtml;
use yiiwidgetsBreadcrumbs;
use yiibootstrapActiveForm;
use appmodelsUsers;
 
$this->title='ثبت نام';
?>
 
<div class="row box">
   <strong>لطفا برای ثبت نام فرم زیر را تکمیل نمایید: </strong>
   <?php $form=  ActiveForm::begin([
       'id'=>'register_form',
       'enableClientValidation'=>true,
       'options'=>['class'=>'form-horizontal'],
       'fieldConfig'=>[
           'template'=>"{label}n<div class="col-sm-5">{input}</div>n<div class="col-sm-4">{error}</div>",
           'labelOptions'=>['class'=>'col-sm-3 control-label'],
       ],
   ]); ?>
   <?= $form->field($model,'name',['inputOptions'=>['autofocus'=>'autofocus']]) ?>
   <?= $form->field($model,'family') ?>
   <?= $form->field($model,'username') ?>
   <?= $form->field($model,'password')->passwordInput() ?>
   <?= $form->field($model,'pass_repeat')->passwordInput() ?>
   <?= $form->field($model,'phone') ?>
   <?= $form->field($model,'email') ?>
   <?= $form->field($model,'postcode') ?>
   <?= $form->field($model,'address')->textarea(['rows'=>5,'style'=>'resize:none;']) ?>
   <div class="form-group">
       <div class="col-sm-offset-3 col-sm-2">
           <?= Html::submitButton('ثبت نام',['class'=>'btn btn-primary btn-block']) ?>
       </div>
   </div>
   <?php ActiveForm::end(); ?>
</div>

متشکرم.
پاسخ
تشکر شده توسط:
#2
چرا این بخش از کد بالا کار نمیکنه؟
1
'enableClientValidation'=>true,
پاسخ
تشکر شده توسط:
#3
توی id بجای _ از - استفاده کنید ببینید درست میشه؟
پاسخ
تشکر شده توسط:
#4
نه درست نشد.

کد مدل users :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class Users extends ActiveRecord
{
    public $pass_repeat;
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'users';
    }
 
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name', 'family', 'city_id', 'address', 'postcode', 'phone', 'username', 'password', 'pass_repeat'], 'required'],
            [['city_id', 'confirmed'], 'integer'],
            [['address'], 'string'],
            [['name', 'family', 'phone', 'email', 'username', 'password'], 'string', 'max' => 255],
            [['postcode'], 'string', 'max' => 10],
            [['pass_repeat'], 'compare', 'compareAttribute'=> 'password', 'message'=>'تکرار رمز عبور اشتباه است'],
            [['pass_repeat'],'required', 'on'=>'register'],
        ];
    }
 
    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ردیف',
            'name' => 'نام',
            'family' => 'نام خانوادگی',
            'city_id' => 'شهر',
            'address' => 'نشانی',
            'postcode' => 'کد پستی',
            'phone' => 'تلفن',
            'email' => 'ایمیل',
            'username' => 'نام کاربری',
            'password' => 'رمز عبور',
            'pass_repeat'=>'تکرار رمز عبور',
            'confirmed' => 'فعال',
        ];
    }
 
    /**
     * @return yiidbActiveQuery
     */
    public function getOrders()
    {
        return $this->hasMany(Orders::className(), ['user_id' => 'id']);
    }
}
پاسخ
تشکر شده توسط:
#5
خط زیر رو تو بخش تنظیمات فرم اضافه کنید :

1
2
3
'clientOptions' => array (
    'validateOnSubmit' => true,
)
پاسخ
تشکر شده توسط:
#6
در فایل configweb.php قرار دادم. اجرا نشد. ارور میده.
پاسخ
تشکر شده توسط:
#7
برا فعال شدن ارور در فرم، تنظیمات خاصی نیازه؟
من layoat اصلی رو تغییر دادم و از main استفاده نمیکنم. میتونه از اون باشه.
پاسخ
تشکر شده توسط:
#8
شاید از این موضوع باشه. یه بار با Layout اصلی چک کنید و اگه درست شد، ببینید چه فایلها JS درج میشن توی اون لی اوت.
پاسخ
تشکر شده توسط: abdollah110110
#9
منظور من در فایل config اصلی برنامه نبود ، تو همون view فرم باید اضافه کنید، کد زیر منظورم بود :

1
2
3
4
5
6
7
8
9
10
11
12
<?php $form=  ActiveForm::begin([
       'id'=>'register_form',
       'enableClientValidation'=>true,
       'clientOptions' => [
            'validateOnSubmit' => true,
        ],
       'options'=>['class'=>'form-horizontal'],
       'fieldConfig'=>[
           'template'=>"{label}n<div class="col-sm-5">{input}</div>n<div class="col-sm-4">{error}</div>",
           'labelOptions'=>['class'=>'col-sm-3 control-label'],
       ],
   ]); ?>
پاسخ
تشکر شده توسط: abdollah110110
#10
این کد رو قرار دادم، کلا ارور داد. ازین نیست.

1
2
3
  'clientOptions' => [
 'validateOnSubmit' => true,
 ],
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان