Heim >Backend-Entwicklung >C++ >Wie implementieren Sie eine bedingte Validierung mit IcalIdatableObject?
Im Bereich der Datenüberprüfung spielt IvalIdatableObject -Schnittstelle eine wichtige Rolle, die die Überprüfung der Objekt -Level ermöglicht und verschiedene Attribute von Objekten vergleichen kann. Wenn Sie ein einzelnes Attribut überprüfen müssen und gleichzeitig in bestimmten Szenarien bestimmte Verifizierungsfehler selektiv ignorieren können, bietet AvalidatableObject eine flexible Lösung.
In diesem Artikel wird vorgestellt, wie IcalIdatableObject verwendet wird, um eine bedingte Überprüfung zu implementieren.
Methode zum Überprüfen des -attributs. Wenn dieses Attribut deaktiviert ist, werden die effektiven Ergebnisse zurückgegeben und der Status von Validate()
und Enabled
ignoriert. Wenn dieses Attribut jedoch aktiviert ist, prüfen Sie, ob Prop1
und Prop2
die Umfangsanforderungen erfüllen. Prop1
Prop2
Die Schritte zur effektiven Umsetzung der bedingten Überprüfung sind wie folgt:
Erstellen von Verifizierungsklassen:
[Required]
In der Methode [Range]
verwenden Sie Validate()
überprüfen Sie die Bedingungen (z. B. Validator.TryValidateProperty()
Attribute), um festzustellen, ob das Überprüfungsfehler bestimmter Attribute ignoriert werden muss. Validate()
Enable
Überprüfung der Objektebene durchführen.
<code class="language-csharp">public class ValidateMe : IValidatableObject { [Required] public bool Enable { get; set; } [Range(1, 5)] public int Prop1 { get; set; } [Range(1, 5)] public int Prop2 { get; set; } public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var results = new List<ValidationResult>(); if (this.Enable) { Validator.TryValidateProperty(this.Prop1, new ValidationContext(this, null, null) { MemberName = "Prop1" }, results); Validator.TryValidateProperty(this.Prop2, new ValidationContext(this, null, null) { MemberName = "Prop2" }, results); // 附加条件验证规则 if (this.Prop1 > this.Prop2) { results.Add(new ValidationResult("Prop1 必须大于 Prop2")); } } return results; } }</code>
Das obige ist der detaillierte Inhalt vonWie implementieren Sie eine bedingte Validierung mit IcalIdatableObject?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!