wcf - tipos - validacion de datos en excel lista desplegable
Atributos de DataMember para validaciĆ³n de datos (3)
Estoy buscando colocar atributos en los miembros de contrato de datos de WCF para validar la longitud de cadena y, posiblemente, usar expresiones regulares para una validación de parámetros más granular.
Puedo utilizar el atributo [Rango] para los valores numéricos y de Fecha y hora y me preguntaba si alguno de ustedes ha encontrado algún otro atributo Miembro de datos de WCF que pueda usar para la validación de datos. He encontrado una gran cantidad de atributos para Silverlight, pero no para WCF.
Agregue System.ComponentModel.DataAnnotations
referencia a su proyecto.
La referencia proporciona algunas Anotaciones de datos que son:
RequiredAttribute, RangeAttribute, StringLengthAttribute, RegularExpressionAttribute
puede en su datacontract como a continuación.
[DataMember]
[StringLength(100, MinimumLength= 10, ErrorMessage="String length should be between 10 and 100." )]
[StringLength(50)] // Another way... String max length 50
public string FirstName { get; set; }
[DataMember]
[Range(2, 100)]
public int Age { get; set; }
[DataMember]
[Required]
[RegularExpression(@"/b[A-Z0-9._%-]+@[A-Z0-9.-]+/.[A-Z]{2,4}/b", ErrorMessage = "Invalid Mail id")]
public string Email { get; set; }
Espero que esto ayude.
Validación manual de valores : puede aplicar manualmente la prueba de validación utilizando la clase Validator. Puede llamar al método ValidateProperty en el acceso de conjunto de una propiedad para verificar el valor con los atributos de validación de la propiedad. También debe establecer las propiedades ValidatesOnExceptions y NotifyOnValidationError en true cuando el enlace de datos reciba excepciones de validación de los atributos de validación.
var unsafeContact = Request["contactJSON"];
try
{
var serializer = new DataContractJsonSerializer(typeof(Contact));
var stream = new MemoryStream(Encoding.UTF8.GetBytes(unsafeContact));
Contact = serializer.ReadObject(stream) as Contact;
stream.Close();
}
catch (Exception)
{
// invalid contact
}
Clase de contacto:
[DataContract]
public sealed class Contact
{
/// <summary>
/// Contact Full Name
/// </summary>
/// <example>John Doe</example>
[DataMember(Name = "name", IsRequired = true)]
[StringLength(100, MinimumLength = 1, ErrorMessage = @"Name length should be between 1 and 100.")]
public string Name {
get
{
return HttpUtility.HtmlEncode(_name);
}
internal set
{
Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "Name" });
_name = value;
}
}
private string _name;
// ...
}
Intente buscar las anotaciones de datos WCF. WCFDataAnnotations le permite validar automáticamente los argumentos de operación del servicio WCF utilizando los atributos System.ComponentModel.DataAnnotations .