2016-07-24 9 views
1

フォームを送信した後にエラーアイコンを追加するにはどうすればよいですか?
次の方法はとても実用的な私には思えません。grailsでブートストラップのフィードバック/エラーを追加するには?

<div class="form-group <g:hasErrors bean="${user}" field="username">has-feedback has-error</g:hasErrors>"> 
     <label for="username" ><g:message code="page.signup.label.username"/> : </label> 
     <input type="username" class="form-control" id="username"> 
     <g:hasErrors bean="${user}" field="username"> 
      <i class="fa fa-times-circle-o form-control-feedback"></i> 
     </g:hasErrors> 
</div> 

とどのように入力のテキストが変更されると、エラーアイコンが消えるように?私はAJAXを使ってフォームを提出すればよいでしょうか? ありがとうございました!

(それが唯一のGrailsの持つ、またはjQueryと角度や他のフレームワークとだ場合は関係ありません)私は(ショー・エラー)それを行う方法を知っているが、私は、ベストプラクティスを探しています

答えて

1

春のエラークラスorg.springframework.validation.Errorsの助けを借りて、本当に簡単です。多くのユーティリティメソッドの1つがgetFieldErrorです。

ドメインを持っていると仮定します。

class Address{ 
String address 
String city 

static constraints = { 
city nullable false 
address nullable false 
} 
} 

たちは以下のようなドメインオブジェクトのアドレスがあるとします。条件ならばGSPページ内

Address address = new Address(address:"test address") 

を、私たちは以下のように置くことができます:

<g:if test="${address.errors.getFieldError('city') != null}"> 
//your html code. 
</g:if> 

HTMLコードでは、インラインメッセージを置くこともできますし、テキストボックスのアウトラインを赤に変更するには、css clもしエラーがあればフィールドに追加することができます。

希望すると助かります!

+0

ありがとうございました! :) – hereForLearing

関連する問題