Heim >Backend-Entwicklung >PHP-Tutorial >yii2 Modellüberprüfungsregeln Regeln Wenn eine Regel nicht überprüft werden kann, wird sie sofort zurückgegeben, ohne dass andere Felder weiter überprüft werden.
yii2-Modellüberprüfungsregeln Regeln Wenn eine Regel nicht überprüft werden kann, wird sie sofort zurückgegeben, ohne dass andere Felder weiter überprüft werden
Mode::rules();
public function rules() { [['username', 'password'], 'required'], ['age', 'required'], // ...... }
Wenn der Benutzername leer ist, wird sofort ein Fehler zurückgegeben, ohne dass Passwort und Alter überprüft werden. Wenn das Alter leer ist, werden auf die gleiche Weise andere Felder nicht überprüft
Ich frage mich, ob es in yii2 eine solche Konfiguration gibt?
yii2-Modellverifizierungsregeln Regeln Wenn eine Regel nicht überprüft werden kann, wird sie sofort zurückgegeben, ohne dass andere Felder weiterhin überprüft werden
Mode::rules( );
public function rules() { [['username', 'password'], 'required'], ['age', 'required'], // ...... }
Wenn der Benutzername leer ist, wird sofort ein Fehler zurückgegeben, ohne dass das Passwort und das Alter überprüft werden. Wenn das Alter leer ist, werden auf die gleiche Weise andere Felder nicht überprüft
Ich frage mich, ob es in yii2 eine solche Konfiguration gibt?
Nach der Überprüfung teilen wir Ihnen mit, welche Felder die Überprüfung nicht bestanden haben. Sehen Sie sich den Code speziell an.
/** * Performs the data validation. * * This method executes the validation rules applicable to the current [[scenario]]. * The following criteria are used to determine whether a rule is currently applicable: * * - the rule must be associated with the attributes relevant to the current scenario; * - the rules must be effective for the current scenario. * * This method will call [[beforeValidate()]] and [[afterValidate()]] before and * after the actual validation, respectively. If [[beforeValidate()]] returns false, * the validation will be cancelled and [[afterValidate()]] will not be called. * * Errors found during the validation can be retrieved via [[getErrors()]], * [[getFirstErrors()]] and [[getFirstError()]]. * * @param array $attributeNames list of attribute names that should be validated. * If this parameter is empty, it means any attribute listed in the applicable * validation rules should be validated. * @param boolean $clearErrors whether to call [[clearErrors()]] before performing validation * @return boolean whether the validation is successful without any error. * @throws InvalidParamException if the current scenario is unknown. */ public function validate($attributeNames = null, $clearErrors = true) { if ($clearErrors) { $this->clearErrors(); } if (!$this->beforeValidate()) { return false; } $scenarios = $this->scenarios(); $scenario = $this->getScenario(); if (!isset($scenarios[$scenario])) { throw new InvalidParamException("Unknown scenario: $scenario"); } if ($attributeNames === null) { $attributeNames = $this->activeAttributes(); } //注意这个foreach foreach ($this->getActiveValidators() as $validator) { $validator->validateAttributes($this, $attributeNames); } $this->afterValidate(); return !$this->hasErrors(); }