私はWebアプリケーションに、ユーザーがURLを入力する必要があるフォームを持っています。私は、サーバーへのURL入力の検証を残しておくことにしましたが、モバイルデバイスの入力用にHTML5 URLタイプを使用するという特典を保持したいと考えていました。なぜtwitterのブートストラップ入力ですか?focus:無効:novalidateを使用するとフォーカスがトリガされますか?
ここに私のフォームのコードがあります:焦点::無効:
<form method="post" action="." required novalidate>{% csrf_token %}
<fieldset>
<legend>{% trans "Add Resource Link" %}</legend>
<div class="well">
<label for="id_url"><strong>{% trans "Web Address" %}</strong></label>
{% if form.url.errors %}
<div class="alert alert-error">{{ form.url.errors }}</div>
{% endif %}
<div class="input-prepend">
<span class="add-on"><i class="icon-link"></i></span>
<input id="id_url" name="url" type="url" placeholder="http://www.example.com">
</div>
<div>
<button type="submit" class="btn btn-primary">{% trans "Add Link" %}</button>
</div>
</div>
</fieldset>
</form>
フォームにNOVALIDATEを使用している間は、無効なサーバーの検証によってキャッチされたURL、入力を提出する私を可能に焦点がまだトリガされていると表示されます1つまたは複数の文字の後にコロンが続くURLに対して、デフォルトのHTML5正規表現検証を使用すること。無入力とフォームの
スクリーンキャプチャ:無効な入力を持つフォームの
スクリーンキャプチャ:有効な入力を持つフォームの
スクリーン・キャプチャーに応じてHTML5のURL検証のデフォルトの正規表現(私は思う?):
なぜ私は入力ですか?フォーカス:無効:フォーカスは、novalidateが使用されているときにトリガされますか?フォーカス:無効:フォーカスがトリガーされない - つまり、クライアント側で入力検証をしたくない - ということで、これは私が理解できないと予想される動作であると思われます。少なくともこの時点ではありません。私は、Linuxバージョン25.0.1364.172を使ってLinux(Ubuntu 12.04)をテストしています。
私はこれでわからないんだけど、私はいつも下にされていますnovalidateはフォームを送信するために入力が有効である必要はなく、妥当性についての情報を提供しないことを尋ねるべきであると示唆しているだけです。 – pickypg