рд╡рд╛рдИ рдореЗрдВ рдорд╛рдиреНрдпрддрд╛

рд╢реБрдн рджрд┐рдиред рдЖрдЬ рдореИрдВ рдЗрди рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдИрдЖрдИрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдРрд╕реА рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 1.1.10 рд╣реИ , рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рд╕рддреНрдпрд╛рдкрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдореИрдиреБрдЕрд▓ рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рдореИрдВ рддреИрдпрд╛рд░ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдИрдЖрдИ рдореЙрдбрд▓ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рддрдВрддреНрд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдВрдбрд░рд╕реНрдЯреИрдВрдбрд┐рдВрдЧ рд╡реИрд▓рд┐рдбреЗрдЯрд░реНрд╕ рдХреА рд╢реБрд░реБрдЖрдд



рддреЛ, рдЕрджреНрднреБрдд рд╕рд╛рдЗрдЯ yiiframewrok.ru рдкрд░ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрднрд╛рдЧ рд╣реИред
рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ ред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореВрд▓ рдЗрд╕ рдкрддреЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ:
  1. рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ
  2. рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдпрдо рдХреНрдпрд╛ рд╣реИ?
  3. рдорд╛рдирдХ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ

рдЕрдЧрд▓рд╛, рдПрдХ рдореЙрдбрд▓ ( рдореВрд▓ ) рдмрдирд╛рдирд╛ рд▓реЗрдЦ рдкрдврд╝реЗрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ:
  1. рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫред (рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рдЦрд░рд╛рдм рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ)
  2. рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреИрд╕реЗ рдмрдирд╛рдПрдБ
  3. рд╕рддреНрдпрд╛рдкрди рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╡реИрд╕реЗ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: 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(); рдФрд░ рд╡рд╣ рдЭреВрдард╛ рд▓реМрдЯ рдЖрдпрд╛ред
рдкрд╛рда рдХреЛ рдкрддрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдХрдореЛрдмреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛:
  1. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдорд╛рдиреНрдп ( $ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ = рдЕрд╢рдХреНрдд , $ рд╕реНрдкрд╖реНрдЯрддрд╛ = рд╕рддреНрдп )
  2. {
  3. рдЕрдЧрд░ ( $ clearErrors )
  4. $ рдпрд╣ -> clearErrors ( ) ;
  5. рдЕрдЧрд░ ( $ рдпрд╣ -> рдкрд╣рд▓реЗ рд╕реЗ рдЕрдорд╛рдиреНрдп ) ( )
  6. {
  7. foreach ( рдпрд╣ $ -> getValidators ( ) $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )
  8. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдорд╛рдиреНрдп ( $ рдпрд╣ , $ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ ) ;
  9. $ рдпрд╣ -> afterValidate ( ) ;
  10. рд╡рд╛рдкрд╕реА ! $ рдЗрд╕ -> рд╣реИрд░рд┐рдпрд░реНрд╕ ( ) ;
  11. }
  12. рдЕрдиреНрдпрдерд╛
  13. рдЭреВрдареЗ рд▓реМрдЯрдирд╛ ;
  14. }

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдФрд░ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЪрд▓реЛ CModel::getValidator() рд╡рд┐рдзрд┐ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦреЗрдВ
foreach ( рдпрд╣ $ -> getValidators ( ) $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Yii рдХреЛ CModel::rules() рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдорд┐рд▓рддреА рд╣реИ

CModel :: getValidators ()


  1. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ getValidators ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ = рдЕрд╢рдХреНрдд )
  2. {
  3. рдЕрдЧрд░ ( $ рдпрд╣ -> _validators === рдирд▓ )
  4. $ рдпрд╣ -> _validators = $ this -> createValidators ( ) ;
  5. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ = рд╕рд░рдгреА ( ) ;
  6. $ рдкрд░рд┐рджреГрд╢реНрдп = $ рдпрд╣ -> getScenario ( ) ;
  7. foreach (рдЗрд╕реЗ $ -> _validators $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ )
  8. {
  9. рдЕрдЧрд░ ( $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> applyTo ( $ рдкрд░рд┐рджреГрд╢реНрдп ) ) {
  10. if ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ === null || in_array ( $ рд╡рд┐рд╢реЗрд╖рддрд╛ , $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдЧреБрдг , рд╕рддреНрдп ) )
  11. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ [ ] = $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ ;
  12. }
  13. }
  14. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд▓реМрдЯреЗрдВ ;
  15. }

рд╡рд┐рдзрд┐ рдореЙрдбрд▓ рдореЗрдВ рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддреА рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ 7 рд╡реАрдВ рдкрдВрдХреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╡рд┐рдзрд┐ CValidator::applyTo($scenario);
рд╕рд╣реА рд▓реМрдЯреЗрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╛ рддреЛ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдЬрдм "рдСрди" рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЖрдЧреЗ рдмрдврд╝реЛред CModel рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ CModel:createValidators();
$ рдпрд╣ -> _validators = $ this -> createValidators ( ) ;

рдЬреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдирд┐рдЪрд▓рд╛ рдФрд░ рдЕрдВрддрд┐рдо рд╕реНрддрд░ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╣рдо рдХреБрдЫ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВрдЧреЗред

рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм: CModel :: createValidators ()


  1. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ createValidators ( )
  2. {
  3. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ = рдирдпрд╛ CList ;
  4. foreach ( рдпрд╣ $ -> рдирд┐рдпрдо ( ) $ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ )
  5. {
  6. if ( isset ( $ рд░реВрд▓ [ 0 ] , $ рд░реВрд▓ [ 1 ] ) ) // рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдирд╛рдо
  7. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ -> рдЬреЛрдбрд╝реЗрдВ ( рд╕реАрд╡реАрдЗрд▓реЗрдЯрд░реЗрдЯрд░ :: createValidator ( $ рдирд┐рдпрдо [ 1 ] , $ рдпрд╣ , $ рдирд┐рдпрдо [ 0 ] , array_slice ( $ рдирд┐рдпрдо , 2 ) ) ) ;
  8. рдЕрдиреНрдпрдерд╛
  9. рдирдП CException ( Yii :: t ( 'yii' ) рдХреЛ рдлреЗрдВрдХреЗрдВ , '{class} рдореЗрдВ рдПрдХ рдЕрдорд╛рдиреНрдп рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рд╣реИред рдирд┐рдпрдо рдХреЛ рдорд╛рдиреНрдп рдФрд░ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред' , array ( '{class}' => get_class ( $) рдпрд╣ ) ) ) ;
  10. }
  11. $ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд▓реМрдЯреЗрдВ ;
  12. }

рдЗрд╕рд▓рд┐рдП рд╣рдо рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ CModel::rules() рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдмрд╣реБрдд рд╣реА рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг CModel::rules() рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ CValidator::createValidator() рдХрд░рдХреЗ рдЗрди рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИред
CValidator::createValidator() рдХрд╛ рдПрдкреАрдЖрдИ CValidator::createValidator() рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреЗ рдорд╛рдирдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ
  1. рд╕рд░рдгреА (
  2. 'рдореЙрдбрд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА' ,
  3. 'рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛'
  4. 'рдСрди' => 'рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо' ,
  5. 'рд╕рдВрджреЗрд╢' => 'рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢' ,
  6. ... рд╕рддреНрдпрд╛рдкрди рдкреИрд░рд╛рдореАрдЯрд░ ...
  7. ) ;

рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдЬрдЧрд╣ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрддрдиреА рдЬрдЯрд┐рд▓ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдмрд╣реБрдд рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢реНрди рдЙрдарддреЗ рд╣реИрдВ, рдЬрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА рдХрд┐ рд╢рд╛рдпрдж рдЖрдкрдХрд╛ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ, рдпрд╛ рдХреБрдЫ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдо рдХреНрдпреЛрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In140275/


All Articles