Ich frage mich, wie es der beste Weg ist, um Datenbankbeschränkungen (z. B. eindeutig) in einer ASP.NET -MVC -Anwendung zu validieren. Erstellen Sie mit DDD, wobei die zugrunde liegenden Schichten (Anwendungsdienste), Domänenschicht (Domänenmodell) und Infrastrukturschicht (Beherrschung der Domänenschicht) und der Logik -Logik, der Logik, des Domänenmodells). Aber viele von ihnen erwähnen nicht, wie man Validierung im Repository durchführt (ich nehme an, dass diese Art der Validierung hier passt). Wenn Sie von Samples kennen, teilen Sie diese bitte sehr geschätzt. Wie würden Sie die tatsächliche Validierung durchführen? Ich bevorzuge den ersten, und wenn die Auswahl des Repositorys im Repository erfolgt, oder sollte es die Aufgabe eines Anwendungsdienstes sein? Formformular.public IEnumerable Validate(ValidationContext validationContext)
{
var validationResults = new List();
if (String.IsNullOrWhiteSpace(this.FirstName))
validationResults.Add(new ValidationResult(Messages.validation_CustomerFirstNameCannotBeNull, new string[] { "FirstName" }));
return validationResults;
}
< /code>
Bevor die Entität fortgesetzt wird, wird die Validierungsnachricht aufgerufen, um sicherzustellen, dass die Eigenschaften gültig sind: < /p>
void SaveCustomer(Customer customer)
{
var validator = EntityValidatorFactory.CreateValidator();
if (validator.IsValid(customer)) //if customer is valid
{
_customerRepository.Add(customer);
_customerRepository.UnitOfWork.Commit();
}
else
throw new ApplicationValidationErrorsException(validator.GetInvalidMessages(customer));
}
< /code>
Die ApplicationValidationerrorsexception kann dann in der MVC -Anwendung aufgenommen werden, und die Validierungsfehlermeldungen können analysiert und in das ModelStatedictionary < /code>. Abfragen der Datenbankprüfung, wenn ein Kunde bereits mit einer bestimmten Spalte vorhanden ist (die eindeutige). Wie machst du das? Ich bin sehr interessant, um mehr Einblick in verschiedene Validierungstechniken in geschichteten Anwendungen zu erhalten. bis zur Präsentationsschicht? Was denkst du über diesen Ansatz?
Validierung in einer geschichteten Anwendung ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post