Ich habe Probleme mit der Yii1-Validierung. Ich habe eine Liste mit Kontakttypen und möchte, dass die E-Mail-Validierung nur funktioniert, wenn der Kontakt per E-Mail gewählt wird. So benutzerdefinierte Regel Im mit, wenn sie nicht leer zu überprüfen:yii1 Validierungsregel mit speziellen Bedingungen
public function customEmailValidation($attribute, $params)
{
if(!$this->hasErrors())
{
if($this->contact_type == 2)
{
if($this->attribute == "") $this->addError($attribute, "Enter email address");
}
}
}
Aber danach will ich zweite Regel verwenden, um zu überprüfen, ob E-Mail-Format ist gut, wie kann ich es erreichen? In Haupt-Regeln kann ich es überprüfen, indem Sie diese:
['email', 'email', 'message' => 'wrong email format'],
aber wie kann ich es nur überprüfen, wenn $ this-> contact_type == 2? Ich muss auch benutzerdefinierte Regel schreiben und ich muss Regex schreiben, um E-Mail-Format zu überprüfen? Oder irgendwie kann ich Hauptvalidierungsregeln in den kundenspezifischen Validierungen benutzen?
Vielen Dank.