hifive / hifivemain

main repository
http://www.htmlhifive.com/
Other
40 stars 10 forks source link

h5.ui.FormController グループ内のinput要素にルールを設定すると、keyup/blur時にバルーンが消えなくなる #553

Closed mtakeuchi closed 8 years ago

mtakeuchi commented 8 years ago

data-h5-input-group-containerを指定した要素内にあるinputに対してルールを設定すると、 値を入力したりフォーカスを外しても、バルーンのバリデーションメッセージが消えなくなってしまいます。

以下サンプルコード。

[HTML]

<div data-h5-input-group-container="fullname" style="width:320px">
  <input type="text" name="lastname" placeholder="姓"><br>
  <input type="text" name="firstname" placeholder="名">
</div>
<input type="button" value="確認" id="btn1">

[JavaScript]

  h5.core.controller('body', {
    formController: h5.ui.FormController,
    __meta: {
      formController: {
        rootElement: '#form1'
      }
    },
    __name: 'PageController',
    __ready: function() {
      this.formController.addOutput('bsBalloon');
      this.formController.setSetting({
        output: {
          bsBalloon: {
            placement: 'right'
          }
        },
        property: {
          fullname: {
            displayName: '姓名',
            message: '{displayName}は両方とも入力して下さい。'
          },
          lastname: {
            displayName: '姓',
            message: '{displayName}は必須です'
          }
        }
      });

      this.formController.addRule({
        lastname: {
          required: true
        },
        fullname: {
          customFunc: function(group) {
            var firstname = group.firstname;
            var lastname = group.lastname;
            return (firstname && lastname);
          }
        }
      });
    },
    '#btn1 click': function() {
      this.formController.validate();
    }
  });

表示結果 result