рд╢реБрдн рджрд┐рдиред рдЖрдЬ рдореИрдВ рдЗрди рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдИрдЖрдИрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдРрд╕реА рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг
1.1.10 рд╣реИ , рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рд╕рддреНрдпрд╛рдкрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдореИрдиреБрдЕрд▓ рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рдореИрдВ рддреИрдпрд╛рд░ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдИрдЖрдИ рдореЙрдбрд▓ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рддрдВрддреНрд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдВрдбрд░рд╕реНрдЯреИрдВрдбрд┐рдВрдЧ рд╡реИрд▓рд┐рдбреЗрдЯрд░реНрд╕ рдХреА рд╢реБрд░реБрдЖрдд
рддреЛ, рдЕрджреНрднреБрдд рд╕рд╛рдЗрдЯ
yiiframewrok.ru рдкрд░ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрднрд╛рдЧ рд╣реИред
рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ
рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ ред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореВрд▓
рдЗрд╕ рдкрддреЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ:
- рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ
- рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдпрдо рдХреНрдпрд╛ рд╣реИ?
- рдорд╛рдирдХ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
рдЕрдЧрд▓рд╛,
рдПрдХ рдореЙрдбрд▓ (
рдореВрд▓ )
рдмрдирд╛рдирд╛ рд▓реЗрдЦ рдкрдврд╝реЗрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ:
- рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫред (рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рдЦрд░рд╛рдм рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ)
- рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреИрд╕реЗ рдмрдирд╛рдПрдБ
- рд╕рддреНрдпрд╛рдкрди рдХреИрд╕реЗ рдХрд░реЗрдВ
рд╡реИрд╕реЗ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Yii 1.1 рдПрдкреНрд▓реАрдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреБрдХрдмреБрдХрдЕрд░реНрдЬрд┐рдд рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░, рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
CModel::validate();
CModel рдореЗрдВ рдЧрд╣рд░рд╛ :: рд╕рддреНрдпрд╛рдкрди ();
CModel::validate($attributes=null, $clearErrors=true);
рд╡рд┐рдзрд┐
CModel::validate($attributes=null, $clearErrors=true);
- рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ 2 рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдФрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреБрдВрдЬреА, рдЬреЛ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ)
рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдорд╛рдирдХ Yii рдореЙрдбрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░
CModel::addError();
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
CModel::addError();
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐
CModel::validate();
рдпрджрд┐
CModel::hasErrors();
рдбреЗрдЯрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдФрд░ рдЭреВрдард╛ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реБрдЖ рд╣реИ рддреЛ
CModel::hasErrors();
рд╕рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдЖрдк
CModel::beforeValidate();
рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╢реАрдХрд░рдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛
CModel::beforeValidate();
рдФрд░ рд╡рд╣ рдЭреВрдард╛ рд▓реМрдЯ рдЖрдпрд╛ред
рдкрд╛рда рдХреЛ рдкрддрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдХрдореЛрдмреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛:
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдорд╛рдиреНрдп ( $ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ = рдЕрд╢рдХреНрдд , $ рд╕реНрдкрд╖реНрдЯрддрд╛ = рд╕рддреНрдп )
- {
- рдЕрдЧрд░ ( $ clearErrors )
- $ рдпрд╣ -> clearErrors ( ) ;
- рдЕрдЧрд░ ( $ рдпрд╣ -> рдкрд╣рд▓реЗ рд╕реЗ рдЕрдорд╛рдиреНрдп ) ( )
- {
- foreach ( рдпрд╣ $ -> getValidators ( ) $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдорд╛рдиреНрдп ( $ рдпрд╣ , $ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ ) ;
- $ рдпрд╣ -> afterValidate ( ) ;
- рд╡рд╛рдкрд╕реА ! $ рдЗрд╕ -> рд╣реИрд░рд┐рдпрд░реНрд╕ ( ) ;
- }
- рдЕрдиреНрдпрдерд╛
- рдЭреВрдареЗ рд▓реМрдЯрдирд╛ ;
- }
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдФрд░ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЪрд▓реЛ
CModel::getValidator()
рд╡рд┐рдзрд┐ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦреЗрдВ
foreach ( рдпрд╣ $ -> getValidators ( ) $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Yii рдХреЛ
CModel::rules()
рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдорд┐рд▓рддреА рд╣реИ
CModel :: getValidators ()
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ getValidators ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ = рдЕрд╢рдХреНрдд )
- {
- рдЕрдЧрд░ ( $ рдпрд╣ -> _validators === рдирд▓ )
- $ рдпрд╣ -> _validators = $ this -> createValidators ( ) ;
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ = рд╕рд░рдгреА ( ) ;
- $ рдкрд░рд┐рджреГрд╢реНрдп = $ рдпрд╣ -> getScenario ( ) ;
- foreach (рдЗрд╕реЗ $ -> _validators $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )
- {
- рдЕрдЧрд░ ( $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> applyTo ( $ рдкрд░рд┐рджреГрд╢реНрдп ) ) {
- if ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ === null || in_array ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ , $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдЧреБрдг , рд╕рддреНрдп ) )
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ [ ] = $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ ;
- }
- }
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд▓реМрдЯреЗрдВ ;
- }
рд╡рд┐рдзрд┐ рдореЙрдбрд▓ рдореЗрдВ рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддреА рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ 7 рд╡реАрдВ рдкрдВрдХреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╡рд┐рдзрд┐
CValidator::applyTo($scenario);
рд╕рд╣реА рд▓реМрдЯреЗрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╛ рддреЛ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдЬрдм
"рдСрди" рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЖрдЧреЗ рдмрдврд╝реЛред CModel рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
CModel:createValidators();
$ рдпрд╣ -> _validators = $ this -> createValidators ( ) ;
рдЬреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдирд┐рдЪрд▓рд╛ рдФрд░ рдЕрдВрддрд┐рдо рд╕реНрддрд░ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╣рдо рдХреБрдЫ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВрдЧреЗред
рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм: CModel :: createValidators ()
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ createValidators ( )
- {
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ = рдирдпрд╛ CList ;
- foreach ( рдпрд╣ $ -> рдирд┐рдпрдо ( ) $ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ )
- {
- if ( isset ( $ рд░реВрд▓ [ 0 ] , $ рд░реВрд▓ [ 1 ] ) ) // рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдирд╛рдо
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдЬреЛрдбрд╝реЗрдВ ( рд╕реАрд╡реАрдЗрд▓реЗрдЯрд░реЗрдЯрд░ :: createValidator ( $ рдирд┐рдпрдо [ 1 ] , $ рдпрд╣ , $ рдирд┐рдпрдо [ 0 ] , array_slice ( $ рдирд┐рдпрдо , 2 ) ) ) ;
- рдЕрдиреНрдпрдерд╛
- рдирдП CException ( Yii :: t ( 'yii' ) рдХреЛ рдлреЗрдВрдХреЗрдВ , '{class} рдореЗрдВ рдПрдХ рдЕрдорд╛рдиреНрдп рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рд╣реИред рдирд┐рдпрдо рдХреЛ рдорд╛рдиреНрдп рдФрд░ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред' , array ( '{class}' => get_class ( $) рдпрд╣ ) ) ) ;
- }
- $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд▓реМрдЯреЗрдВ ;
- }
рдЗрд╕рд▓рд┐рдП рд╣рдо рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓
CModel::rules()
рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдмрд╣реБрдд рд╣реА рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
CModel::rules()
рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐
CValidator::createValidator()
рдХрд░рдХреЗ рдЗрди рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИред
CValidator::createValidator()
рдХрд╛
рдПрдкреАрдЖрдИ CValidator::createValidator()
рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреЗ рдорд╛рдирдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ
- рд╕рд░рдгреА (
- 'рдореЙрдбрд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА' ,
- 'рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛'
- 'рдСрди' => 'рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо' ,
- 'рд╕рдВрджреЗрд╢' => 'рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢' ,
- ... рд╕рддреНрдпрд╛рдкрди рдкреИрд░рд╛рдореАрдЯрд░ ...
- ) ;
рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдЬрдЧрд╣ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрддрдиреА рдЬрдЯрд┐рд▓ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдмрд╣реБрдд рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢реНрди рдЙрдарддреЗ рд╣реИрдВ, рдЬрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рд╣рдо рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА рдХрд┐ рд╢рд╛рдпрдж рдЖрдкрдХрд╛ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ, рдпрд╛ рдХреБрдЫ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреНрдпреЛрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
- рдЬрдм
CModel::validate()
рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ CModel::beforeValidate()
рд╡рд┐рдзрд┐ CModel::beforeValidate()
ред
рдпрджрд┐ рд╡рд┐рдзрд┐ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐
CModel::hasErrors()
рд╡рд┐рдзрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЬрдм
CModel::getValidators()
рд╡рд┐рдзрд┐ рдХрд╣рд▓рд╛рддреА рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рд╡реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░реНрд╕ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ, рдХреЛ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ