2016-03-23 41 views
0

openui5 ile başlayacağım. Bir formun tüm alanını doğrulamak istiyorum.OpenUI5 form doğrulama onayla

ben denetleyicisi üzerinde

sap.ui.getCore().getMessageManager().registerObject 

this.getView().attachValidationError 

kullanıyorum ve form içinde bir girişin değerini değiştirdiğinizde mükemmel çalıştırmak ediyorum.

Peki, form düğmesinde basın olayını tetiklediğimde tüm form girişlerini doğrulamak ne demektir?

Sadece solution buldum, ancak bu her alanı tek tek doğrulamak için gereklidir.

Tüm alanları doğrulamak ve işlemek için MessageManager'ı çağırmanın bir yolu yok mu?

cevap

-1

Bir süre önce yazdığı bu blogu bakınız: Bir

O biraz fazla zorlama olduğu düğmesine göndermek tıklandığında http://scn.sap.com/community/developer-center/front-end/blog/2015/11/01/generic-sapui5-form-validator

herhangi bir zamanda formunuzu doğrulamak için bir araç sağlar, örneğin yardımcı sınıf (it's on GitHub) tedarik ama arkasında bir fikir şudur için: Formlarınız kök kabını tanımlama

  • ve (yinelemeli) yalnızca validat istiyorum çünkü (sap.ui.core.Control devralan tüm alt bulmak Elbette e kontroller)
  • Kontrol verilen kumanda aslında görülebilir bir şeydir ve eğer evet ise bir kısıtlama
  • ayarlanırsa
  • Sonra kontrol görünür olamaz şey) kontrol görünür (hayır duygusu, Daha sonra, kontrolün bir satır içi doğrulama olduğu gibi doğrulanmasını deneyin.
  • Ancak, denetim doğrulanamadıysa, doğrulanabilecek kümelenmeler olabilir (örn. Çocuk kontrollerini tutabilen bir form, bir masa vb. olabilir. Sonra çocukları kontrol etmek ve yinelemeli Doğrulama yöntemi ana kısmı aslında her çocuk denetimin doğrulama başlatıyordur

tekrar arayın: o openui5 bunun için bir çözüm yoktur

try { 
    // get the control's binding (oControl is the control you want to validate) 
    var oControlBinding = oControl.getBinding("value"); // or selectedKey, text, etc 
    // get the formatted value 
    var oExternalValue = oControl.getProperty("value"); 
    // get the actual, internal value 
    var oInternalValue = oControlBinding.getType().parseValue(oExternalValue, oControlBinding.sInternalType); 
    // trigger the actual validation 
    oControlBinding.getType().validateValue(oInternalValue); 
} 
+0

benim için şaşırtıcı mı . Cevabınız için teşekkürler. – user2864893