2013-11-20 5 views
1

Нижеприведенная модель расширяет CFormModel, и мне нужно указать правила, чтобы атрибуты допускали только целые числа.Yii - Как проверить только текстовое поле только для целых чисел

class SearchForm extends CFormModel { 

    public $min_size; 
    public $max_size; 

    /** 
    * Declares the validation rules. 
    * The rules state that username and password are required, 
    * and password needs to be authenticated. 
    */ 
    public function rules() { 
array('min_size, max_size', 'numerical', 'integerOnly'=>true), 

     ); 
    } 

текстовое поле создается с помощью -

<?php echo $form->textField($model,'min_size', array('placeholder' => 'Min Sqft', 'style'=>'width:100px')); ?> 

Но выше проверки не работает. Как я могу проверить текстовое поле, чтобы разрешать только целые числа. Есть в любом случае я могу сделать проверку

+2

сообщение код контроллера. Вы вызываете validate()? – redGREENblue

+0

попробуйте также добавить валидатор типов в эти поля. http://www.yiiframework.com/doc/api/1.1/CTypeValidator –

ответ

3

попробовать это использование

public function rules(){ 
return array(
    array('min_size, max_size', 'numerical', 'integerOnly'=>true));} 
+0

проверить _form.php для $ form = $ this-> beginWidget ('CActiveForm', array ( \t 'id' => 'member-form ', \t' enableAjaxValidation '=> true, // сделать это true )); –

+1

errorSummary ($ model); // раскомментируем этот код в form.php?> –

+0

также checkout в контроллере –

2

как в v2

[['mobile'], 'integer'], 
[['mobile'], 'string', 'min' => 10, 'max' => 10], 
+0

Постарайтесь подробно объяснить, почему это сработает. Учитывая, что это не поможет никому понять, почему/как ваш ответ будет решать проблему OP. – Tensibai

Смежные вопросы