2012-10-15 13 views
7

Scala form yardımcısında "nonEmptyText" komutunu kullanırken varsayılan "Bu alan gereklidir" hata mesajını özelleştirmek istiyorum./Mesajlar bir saha özgü bir hatayla sağlayabilir dosyası OptimalYürütme Çerçevesi/Scala formlarındaki alana özel hata iletileri

val form = Form(
    tuple("email" -> nonEmptyText, "password" -> nonEmptyText) 
     verifying ("Invalid email or password.", result => result match { 
     case (email, password) => { 
      User.authenticate(email, password).isDefined 
     } 
     })) 

benim Konfigürasyon: Burada

Ben özelleştirmek istediğiniz bir örnektir

error.email.required=Enter your login email address 
error.password.required=You must provide a password 

Ama en kötü durumda ben

error.required=%s is required 
#would evaluate to "password is required", which I would then want to capitalize 

ben bu% s ifadeyi görünce: alan adını kullanarak bir joker mesajla mutlu olurdu Bazı Play 1.x belgeleri ancak artık işe yaramıyor.

Yardımlarınız için şimdiden teşekkür ederiz!

cevap

8

deneyin bir nonEmptyText kullanımını bırakın ve özel doğrulama ile basit text alanını kullanmak: Bu durumda, bir adım daha taşıyabilirsiniz

tuple(
    "email" -> text.verifying("Enter your login email address", {!_.isEmpty}), 
    "password" -> text.verifying("You must provide a password", {!_.isEmpty}) 
) 

ve bir çağrı için verifying maddesinin içeride String alışverişinde play.api.i18n.Messages nesne: bu test kodu, ancak yön işaret gerektiği

tuple(
    "email" -> text.verifying(Messages("error.email.required"), {!_.isEmpty}), 
    "password" -> text.verifying(Messages("error.password.required"), {!_.isEmpty}) 
) 

not edin. Bunun bir atış verecek @fynn

Good Luck

+0

teşekkürler. – kgx

+0

Kodunuz harika çalıştı. Beni doğru yönde işaret ettiğin için teşekkürler! – kgx

+0

Hayır, sorun. Yardım edebileceğime sevindim ... – fynn

İlgili konular