2016-05-20 6 views
0

フィドルエラーが発生します。 https://jsfiddle.net/v45hrqs1/7/HTML入力パターンのカスタマイズ検証メッセージが

だから、私は有効なファイル名が指定されているかどうかを確認するためにpattern属性を使用してHTMLの小さなフォームを構築します。それが働いているので、filename/のようなものを入力してEnterキーを押すと、「要求形式に一致してください」というメッセージが表示されます。

さらにカスタマイズされたメッセージが必要なので、javascriptの部分を追加しました。今、無効なファイル名を入力してEnterキーを押すと、新しいメッセージが表示されます。

ただし、ファイル名を有効なものに変更すると、エラーメッセージが表示されます。

どうしたのですか?私の考えはファイル名を変更した後です。var inputは更新されません。しかし、私はこれをどのように修正するのか分かりません。

+0

エラーを再現できません。 'filename /'を入力してエラーメッセージが表示されたら、 '/'を削除して、フィールドに 'filename'だけが入るようにして成功しました。これはあなたのコードをテストしたのと同じですか? – mian

+0

javascriptの部分のコメントを外しましたか?私が言ったように、エラーは私のカスタマイズされたメッセージでのみ発生します – yangsunny

答えて

1

JavaScriptは必ずしも必要ではありません。あなたはこのような入力自体に妥当性チェックを設定することができます。それが変更されたとき、それは再評価されますので

<input type="text" class="form-control" id="packet_name" name="packet_name" pattern="[^\\/:\x22*?<>|]+" oninvalid="setCustomValidity('Invalid character in name:\n \/: * ? < >.')" oninput="setCustomValidity('')" maxlength="100" required> 

そしてoninputは、カスタム有効性をクリアします。

+0

Thxたくさん!魅力のように動作します。私はjqueryを試しているので少し修正したので、htmlとjsの部分を分けたい。 – yangsunny

+0

ええ、これまでに何をしたいのですが、私があなたに役立つことができて嬉しいです:) – thepio