2012-06-27 2 views
1

Я пытаюсь выяснить способ повторного использования правил проверки классов CValidator Yii, например CStringValidator (http://www.yiiframework.com/doc/api/1.1/CStringValidator).Повторное использование правил CValidator Yii Framework на стороне клиента

Я думаю, что если я смогу получить правила в формате JSON, я могу передать json в javascript и создать функцию валидатора для их принудительного применения (или создать javascript на стороне PHP и отправить сценарий вниз клиент).

Предоставляет ли Yii метод любого типа сериализации для принятия валидатора, такого как CString, и выдает «правила», которые он использует для проверки? (что-то вроде/[\ d \ w] + /, просто для упрощенного примера)?

В связи с природой этого проекта мы не можем использовать CActiveForm (который обеспечивает встроенную проверку на стороне клиента).

+0

Вы можете отправить данные на сервер и подтвердить их с помощью Yii. 'CActiveForm' также встроен в проверку AJAX. – adamors

ответ

2

Вы можете написать действие, которое легко вернет правила в JSON.

public function actionGetRules() 
{ 
    echo CJSON::encode(Model::rules()); 
}