Validator etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Validator etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

22 Kasım 2018 Perşembe

Bean Validation Validator Arayüzü

Giriş
Şu satırı dahil ederiz.
import javax.validation.Validator;
buildDefaultValidatorFactory metodu
Şöyle yaparız.
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
validate metodu
Örnek ver.

validateValue metodu
Şöyle yaparız.
Validation.buildDefaultValidatorFactory().getValidator()
  .validateValue(beanType, propertyName, value)

5 Şubat 2016 Cuma

Schema ve Validator Sınıfları

SchemaFactory Sınıfı
newInstance metodu
Factory şöyle yaratılır.
SchemaFactory f = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Şöyle de yapabilirdik.
SchemaFactory factory = 
            SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
newSchema metodu
XSD dosyasını yüklemek için kullanılır. Dosyadan yüklemek için şöyle yaparız.
Schema schema = factory.newSchema(new File("/tmp/checkxsd.xsd"));
Stream'den yüklemek için şöyle yaparız.
InputStream xsd = ...;
Schema schema = factory.newSchema(new StreamSource(xsd));
String'den yükleme için şöyle yaparız.

Schema schema = factory.newSchema(new StreamSource(new StringReader(xsd)))
Schema Sınıfı
newValidator metodu
Şöyle yaparız.
Validator validator = schema.newValidator();
Validator Sınıfı
setErrorHandler metodu
Bir ErrorHandler sınıfı tanımlarız
public class LoggingErrorHandler implements ErrorHandler {

  @Override
  public void warning(SAXParseException exc) {..}

  @Override
  public void error(SAXParseException exc) {...}

  @Override
  public void fatalError(SAXParseException exc) throws SAXParseException {...}
}
Bu sınıfı Validator nesnesine veririz.
LoggingErrorHandler errorHandler = new LoggingErrorHandler();
validator.setErrorHandler(errorHandler);
validate metodu
Verilen XML'i doğrular.
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File("/home/my-pc/MyXMLFile.xml"))
Şöyle de yapabiliriz.
InputStream xml = ...;
Validator validator = schema.newValidator();
validator.validate(new StreamSource(xml));
Eğer hata varsa exception atar.
Validator validator = schema.newValidator();
Source source = new StreamSource(myXmlFile);

try {
    validator.validate(source);
    return null;
}catch (SAXException ex) {
    String validationMessage = ex.getMessage();
    return validationMessage;
}