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.

ringa_lee
Freigeben: 2023-03-01 06:06:02
Original
1394 Leute haben es durchsucht


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'],
     // ......

}
Nach dem Login kopieren
Nach dem Login kopieren

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?

Antwortinhalt:

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'],
     // ......

}
Nach dem Login kopieren
Nach dem Login kopieren

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();
    }
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage