「場所の選択」というオプションで始まる選択フィールドがあり、送信する前にユーザーに何かを選択させたいと考えています。オプションが利用可能になるまで[送信] ボタンを無効にするという記事を見ましたamp-bind
が、可能であれば amp-form に組み込まれている検証を使用したいと考えています。
フィールドとフィールドでpattern
属性を使用してみました。私は似たようなものや複数のバリエーションを使用しましたが、成功しませんでした。<select>
<option>
pattern="^((?!default).)*$"
<form
id="contactForm"
method="post"
action-xhr="https://valid.json/endpoint"
custom-validation-reporting="show-all-on-submit"
target="_top">
[...]
<select
id="formLocation"
name="location_id"
pattern="^((?!default).)*$"
required>
<option value="default" disabled selected>Select Location</option>
<option value="newyork">New York</option>
<option value="losangeles">Los Angeles</option>
</select>
<span
visible-when-invalid="patternMismatch"
required
validation-for="formLocation">
Please Choose a Location
</span>
[...]
<input
id="formSubmit"
type="submit"
value="Submit">
</form>
値を変更せずに [送信] をクリックすると、検証エラーが表示されるはずですが、表示されません。選択フィールドでこの検証方法を使用することは可能ですか? それとも、前述の amp-bind メソッドを使用する必要がありますか?