Data Annotations op objekmodel gedeel tussen 2 programme
-
29-09-2019 - |
Vra
Ek het 'n klas biblioteek wat my voorwerp model bevat. Ek wil graag elke voorwerp om data notas om reëls plek validering het in my model sodat bekragtiging kan gedeel word oor 2 programme. Een daarvan is 'n MVC 2 artikels en die ander is 'n Windows vorms app.
Ek moet in staat wees om die voorwerp model met die hand te bekragtig van kode met behulp van die data notas, maar sonder die gebruik van xVal. Toe ek oorskakel die model voorwerp biblioteek om die 4.0 kliëntprofiel dit nie meer kan bou met die xVal komponente. Die klas domein voorwerp biblioteek sal versprei word met die vensters app, so ek wou die 4.0 kliënt profiel aan te wend.
Enige idees?
Oplossing
Wel, ek sal 'n antwoord te voorsien met 'n bietjie meer substansie in geval dit van hulp kan wees om iemand anders.
Vir ons bekragtiging, gebruik ons ??'n eenvoudige Bevestig metode soos volg:
public void Validate(T entity)
{
var context = new ValidationContext(entity, null, null);
var results = new List<ValidationResult>();
bool valid = Validator.TryValidateObject(entity, context, results, true);
if (!valid)
; // do something fancy with the results here, perhaps
}
Jy kan ook slaan die TryValidateObject
en gaan reg om ValidateObject
as jy nie wil hê om iets fancy doen met die resultate.