diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-12 10:48:54 +0900 |
---|---|---|
committer | potappo <potappo@gmail.com> | 2021-12-20 00:53:05 +0900 |
commit | fac043e3e5161039e2c9cdae808ee2e7916596f3 (patch) | |
tree | a040151ba9594fb4abdd41a8fd4e6fe1cc283cb3 | |
parent | 995620e74d11495cc7842b8892a77349ef8f93a4 (diff) | |
download | translated-content-fac043e3e5161039e2c9cdae808ee2e7916596f3.tar.gz translated-content-fac043e3e5161039e2c9cdae808ee2e7916596f3.tar.bz2 translated-content-fac043e3e5161039e2c9cdae808ee2e7916596f3.zip |
2021/10/13 時点の英語版に同期
-rw-r--r-- | files/ja/web/api/validitystate/badinput/index.md | 65 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/index.md | 102 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/patternmismatch/index.md | 108 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/rangeoverflow/index.md | 39 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/rangeunderflow/index.md | 39 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/stepmismatch/index.md | 39 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/toolong/index.md | 54 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/tooshort/index.md | 19 | ||||
-rw-r--r-- | files/ja/web/api/validitystate/typemismatch/index.md | 68 |
9 files changed, 318 insertions, 215 deletions
diff --git a/files/ja/web/api/validitystate/badinput/index.md b/files/ja/web/api/validitystate/badinput/index.md index cefc7f140f..ab9a72d8ca 100644 --- a/files/ja/web/api/validitystate/badinput/index.md +++ b/files/ja/web/api/validitystate/badinput/index.md @@ -3,66 +3,41 @@ title: ValidityState.badInput slug: Web/API/ValidityState/badInput tags: - API - - Constraints API + - 制約検証 API - HTML DOM - - Property - - Read-only + - プロパティ + - 読み取り専用 - ValidityState translation_of: Web/API/ValidityState/badInput --- -<p>{{APIRef("HTML DOM")}}</p> +{{APIRef("HTML DOM")}} -<p>読み取り専用のプロパティ <strong><code>ValidityState.badInput</code></strong> は、ブラウザが変換できない入力をユーザーが行ったかどうかを示します。例えば、数値の入力欄に文字列がある場合です。<br> - <em><strong>注:</strong> Internet Explorer はこれをサポートしていませんが、たとえば数値入力欄では、数値ではない値は無視されるので問題ありません。</em></p> +**`badInput`** は [ValidityState](/ja/docs/Web/API/ValidityState) オブジェクトの読み取り専用のプロパティで、ブラウザーが変換できない入力をユーザーが行ったかどうかを示します。例えば、数値の入力欄に文字列がある場合です。 -<h2 id="Example" name="Example">例</h2> +## 例 -<pre class="brush: html"><input type="number" id="age"></pre> +```html +<input type="number" id="age"> +``` -<pre class="brush: js">var input = document.getElementById("age"); +```js +var input = document.getElementById("age"); if (input.validity.badInput) { console.log("Bad input detected…"); } else { - console.log("Content of input ok."); + console.log("Content of input OK."); } -</pre> +``` -<h2 id="Specifications" name="Specifications">仕様</h2> +## 仕様書 -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - <th scope="col">策定状況</th> - <th scope="col">コメント</th> - </tr> - <tr> - <td>{{ SpecName('HTML WHATWG', 'constraints.html#dom-validitystate-badinput', 'ValidityState.badInput') }}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td>現行の標準</td> - </tr> - <tr> - <td>{{ SpecName('HTML5.1', '#dom-validitystate-badinput', 'ValidityState.badInput') }}</td> - <td>{{Spec2('HTML5.1')}}</td> - <td>前回のスナップショット {{SpecName('HTML5 W3C')}} から変更なし</td> - </tr> - <tr> - <td>{{ SpecName('HTML5 W3C', 'forms.html#dom-validitystate-badinput', 'ValidityState.badInput') }}</td> - <td>{{Spec2('HTML5 W3C')}}</td> - <td>このインターフェイスを含む {{SpecName('HTML WHATWG')}} の最初のスナップショット</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> +## ブラウザーの互換性 +{{Compat}} +## 関連情報 -<p>{{Compat("api.ValidityState.badInput")}}</p> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li><a href="/ja/docs/Web/HTML/HTML5/Constraint_validation">制約の検証</a></li> - <li><a href="/ja/docs/Learn/HTML/Forms/Data_form_validation">フォームデータの検証</a></li> -</ul> +- [ガイド: 制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [チュートリアル: フォームデータの検証](/ja/docs/Learn/Forms/Form_validation) diff --git a/files/ja/web/api/validitystate/index.md b/files/ja/web/api/validitystate/index.md index 7a44bf90a9..740d1a99df 100644 --- a/files/ja/web/api/validitystate/index.md +++ b/files/ja/web/api/validitystate/index.md @@ -3,81 +3,53 @@ title: ValidityState slug: Web/API/ValidityState tags: - API - - Constraint Validation API - - Forms + - 制約検証 API + - フォーム - HTML DOM - - Interface + - インターフェイス +browser-compat: api.ValidityState translation_of: Web/API/ValidityState --- -<div>{{APIRef("HTML DOM")}}</div> +{{APIRef("HTML DOM")}} -<p><strong><code>ValidityState</code></strong> インターフェイスは、制約の検証に関して、要素が取りうる<em>妥当性の状態</em>を表します。要素の値が不正な場合に、なぜ検証に失敗するのかを知る手がかりにもなります。</p> +**`ValidityState`** インターフェイスは、制約の検証に関して、要素が取りうる*妥当性の状態*を表します。要素の値が不正な場合、なぜ検証に失敗したのかのかを知る手がかりにもなります。 -<h2 id="Properties">プロパティ</h2> +## プロパティ -<p>下記のプロパティはどれも Boolean を返します。<code>true</code> は指定された検証が失敗したことを表します。ただし <code>valid</code> プロパティだけは例外で、 <code>true</code> が要素の値がすべての制約に適合していることを表します。</p> +下記のプロパティはどれも論理値を返します。`true` は指定された検証が失敗したことを表します。ただし `valid` プロパティだけは例外で、 `true` が要素の値がすべての制約に適合していることを表します。 -<dl> - <dt>{{domxref("ValidityState.badInput", "badInput")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> はブラウザーが処理できない入力値をユーザーが入力したことを示します。</dd> - <dt><code>customError</code> {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、その要素のカスタム検証メッセージが {{domxref('HTMLObjectElement.setCustomValidity', 'setCustomValidity()')}} メソッドによって空でない文字列に設定されているかどうかを示します。</dd> - <dt>{{domxref("ValidityState.patternMismatch", "patternMismatch")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{htmlattrxref("pattern", "input")}} の指定と一致しないことを示し、 <code>false</code> は一致することを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.rangeOverflow", "rangeOverflow")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{htmlattrxref("max", "input")}} 属性で指定された最大値を超えていることを示し、 <code>false</code> はその最大値以下である場合を示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.rangeUnderflow", "rangeUnderflow")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{htmlattrxref("min", "input")}} 属性で指定された最小値未満であることを示し、 <code>false</code> はその最小値以上であることを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.stepMismatch", "stepMismatch")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{htmlattrxref("step", "input")}} 属性で決められた規則に合わないこと (つまり、step の値で割り切れないこと) を示し、 <code>false</code> は刻みの規則に合っていることを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.tooLong", "tooLong")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{domxref("HTMLInputElement")}} または {{domxref("HTMLTextAreaElement")}} オブジェクトの <code>maxlength</code> で指定された長さを超えていることを示し、 <code>false</code> は長さがその最長値以下であることを示します。 <em><strong>注:</strong> Gecko ではこのプロパティが <code>true</code> になることはありません。要素の値の長さが <code>maxlength</code> を超えないようになっているからです。</em> <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.tooShort", "tooShort")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が {{domxref("HTMLInputElement")}} または {{domxref("HTMLTextAreaElement")}} オブジェクトの <code>minlength</code> で指定された長さに満たないことを示し、 <code>false</code> は長さがその最短値以上であることを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.typeMismatch", "typeMismatch")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> は値が ({{htmlattrxref("type", "input")}} が <code>email</code> または <code>url</code> の場合に) 要求された構文に合っていないことを示し、<code>false</code> は構文が正しいことを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。</dd> - <dt><code>valid</code> {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> はその要素がすべての制約検証に適合し、合格したとみられることを示し、 <code>false</code> はいずれかの制約に適合しなかったことを示します。 <code>true</code> の場合、 CSS の {{cssxref(":valid")}} 擬似クラスに一致します。それ以外の場合は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。</dd> - <dt>{{domxref("ValidityState.valueMissing", "valueMissing")}} {{ReadOnlyInline}}</dt> - <dd>{{jsxref("Boolean")}} で、 <code>true</code> はその要素に {{htmlattrxref("required", "input")}} 属性があるものの、値がないことを示し、 <code>false</code> はそうではないことを示します。 <code>true</code> の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。</dd> -</dl> +- {{domxref("ValidityState.badInput", "badInput")}} {{ReadOnlyInline}} + - : 論理値で、 `true` はブラウザーが処理できない入力値をユーザーが入力したことを示します。 +- `customError` {{ReadOnlyInline}} + - : 論理値で、その要素のカスタム検証メッセージが {{domxref('HTMLObjectElement.setCustomValidity', 'setCustomValidity()')}} メソッドによって空でない文字列に設定されているかどうかを示します。 +- {{domxref("ValidityState.patternMismatch", "patternMismatch")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{htmlattrxref("pattern", "input")}} の指定と一致しないことを示し、 `false` は一致することを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。 +- {{domxref("ValidityState.rangeOverflow", "rangeOverflow")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{htmlattrxref("max", "input")}} 属性で指定された最大値を超えていることを示し、 `false` はその最大値以下である場合を示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。 +- {{domxref("ValidityState.rangeUnderflow", "rangeUnderflow")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{htmlattrxref("min", "input")}} 属性で指定された最小値未満であることを示し、 `false` はその最小値以上であることを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。 +- {{domxref("ValidityState.stepMismatch", "stepMismatch")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{htmlattrxref("step", "input")}} 属性で決められた規則に合わないこと (つまり、step の値で割り切れないこと) を示し、 `false` は刻みの規則に合っていることを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。 +- {{domxref("ValidityState.tooLong", "tooLong")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{domxref("HTMLInputElement")}} または {{domxref("HTMLTextAreaElement")}} オブジェクトの `maxlength` で指定された長さを超えていることを示し、 `false` は長さがその最長値以下であることを示します。 *注: Gecko ではこのプロパティが `true` になることはありません。要素の値の長さが `maxlength` を超えないようになっているからです。* `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。 +- {{domxref("ValidityState.tooShort", "tooShort")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が {{domxref("HTMLInputElement")}} または {{domxref("HTMLTextAreaElement")}} オブジェクトの `minlength` で指定された長さに満たないことを示し、 `false` は長さがその最短値以上であることを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} の各擬似クラスに一致します。 +- {{domxref("ValidityState.typeMismatch", "typeMismatch")}} {{ReadOnlyInline}} + - : 論理値で、 `true` は値が ({{htmlattrxref("type", "input")}} が `email` または `url` の場合に) 要求された構文に合っていないことを示し、`false` は構文が正しいことを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。 +- `valid` {{ReadOnlyInline}} + - : 論理値で、 `true` はその要素がすべての制約検証に適合し、合格したとみられることを示し、 `false` はいずれかの制約に適合しなかったことを示します。 `true` の場合、 CSS の {{cssxref(":valid")}} 擬似クラスに一致します。それ以外の場合は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。 +- {{domxref("ValidityState.valueMissing", "valueMissing")}} {{ReadOnlyInline}} + - : 論理値で、 `true` はその要素に {{htmlattrxref("required", "input")}} 属性があるものの、値がないことを示し、 `false` はそうではないことを示します。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。 -<h2 id="Specifications">仕様書</h2> +## 仕様書 -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - <th scope="col">状態</th> - <th scope="col">備考</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{ SpecName('HTML WHATWG', 'form-control-infrastructure.html#validitystate', 'ValidityState') }}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td>現行の標準</td> - </tr> - <tr> - <td>{{ SpecName('HTML5.1', 'sec-forms.html#validitystate-validitystate', 'ValidityState') }}</td> - <td>{{Spec2('HTML5.1')}}</td> - <td>前回のスナップショット {{SpecName('HTML5 W3C')}} から変更なし</td> - </tr> - <tr> - <td>{{ SpecName('HTML5 W3C', 'forms.html#validitystate', 'ValidityState') }}</td> - <td>{{Spec2('HTML5 W3C')}}</td> - <td>このインターフェイスを含む {{SpecName('HTML WHATWG')}} の最初のスナップショット</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -<p>{{Compat("api.ValidityState")}}</p> +{{Compat}} -<h2 id="See_also">関連情報</h2> +## 関連情報 -<ul> - <li><a href="/ja/docs/Web/Guide/HTML/HTML5/Constraint_validation">ガイド: 制約検証</a></li> - <li><a href="/ja/docs/Learn/Forms/Form_validation">チュートリアル: フォームデータの検証</a></li> -</ul> +- [ガイド: 制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [チュートリアル: フォームデータの検証](/ja/docs/Learn/Forms/Form_validation) diff --git a/files/ja/web/api/validitystate/patternmismatch/index.md b/files/ja/web/api/validitystate/patternmismatch/index.md index 5db71d2c49..0f5ce617fa 100644 --- a/files/ja/web/api/validitystate/patternmismatch/index.md +++ b/files/ja/web/api/validitystate/patternmismatch/index.md @@ -3,79 +3,57 @@ title: ValidityState.patternMismatch slug: Web/API/ValidityState/patternMismatch tags: - API - - Constraint Validation API + - 制約検証 API - DOM - - Property - - Reference + - プロパティ + - リファレンス +browser-compat: api.ValidityState.patternMismatch translation_of: Web/API/ValidityState --- -<p>{{draft}}<strong><code>patternMismatch</code></strong> は <strong><code><a href="/ja/docs/Web/API/ValidityState">ValidityState</a></code></strong> オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} 要素の値がユーザーによって編集された後で、その要素の <code><a href="/ja/docs/Web/HTML/Attributes/pattern">pattern</a></code> 属性で設定された制約に適合するかどうかを示します。</p> +{{draft}}**`patternMismatch`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} 要素の値がユーザーによって編集された後で、その要素の [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性で設定された制約に適合するかどうかを示します。 -<p>そのフィールドが <code><a href="/ja/docs/Web/HTML/Attributes/pattern">pattern</a></code> 属性に対応している場合 -- つまり、 {{HTMLElement("input")}} の <code>type</code> が {{HTMLElement("input/text", "text")}}, {{HTMLElement("input/tel", "tel")}}, {{HTMLElement("input/email", "email")}}, {{HTMLElement("input/url", "url")}}, {{HTMLElement("input/password", "password")}}, {{HTMLElement("input/search", "search")}} のいずれかであった場合 -- かつ、 pattern の値が有効な正規表現に設定されていた場合、値が <code><a href="/ja/docs/Web/HTML/Attributes/pattern">pattern</a></code> の値で設定された制約に適合していない場合、 <code>patternMismatch</code> プロパティが true になります。</p> +そのフィールドが [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性に対応している場合 -- つまり、 {{HTMLElement("input")}} の `type` が {{HTMLElement("input/text", "text")}}, {{HTMLElement("input/tel", "tel")}}, {{HTMLElement("input/email", "email")}}, {{HTMLElement("input/url", "url")}}, {{HTMLElement("input/password", "password")}}, {{HTMLElement("input/search", "search")}} のいずれかであった場合 -- かつ、 pattern の値が有効な正規表現に設定されていた場合、値が [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) の値で設定された制約に適合していない場合、 `patternMismatch` プロパティが true になります。 -<h2 id="Examples">例</h2> +## 例 -<p>以下のものがあったとします。</p> +以下のものがあったとします。 -<pre class="brush: html"><p> - <label>電話番号を (123)456-7890 の形で入力してください - (<input name="tel1" type="tel" pattern="[0-9]{3}" placeholder="###" aria-label="3-digit area code" size="2"/>)- - <input name="tel2" type="tel" pattern="[0-9]{3}" placeholder="###" aria-label="3-digit prefix" size="2"/> - - <input name="tel3" type="tel" pattern="[0-9]{4}" placeholder="####" aria-label="4-digit number" size="3"/> - </label> -</p></pre> +```html +<p> + <label>電話番号を (123)456-7890 の形で入力してください + (<input name="tel1" type="tel" pattern="[0-9]{3}" placeholder="###" aria-label="3 桁の市外局番" size="2"/>)- + <input name="tel2" type="tel" pattern="[0-9]{3}" placeholder="###" aria-label="3 桁の市内局番" size="2"/> - + <input name="tel3" type="tel" pattern="[0-9]{4}" placeholder="####" aria-label="4 桁の加入者番号" size="3"/> + </label> +</p> +``` -<p>ここでは、北米の電話番号のための 3 つの部分があり、電話番号の 3 つの構成要素すべてを包含する暗黙のラベルが、それぞれ 3 桁、3 桁、4 桁を期待しています。それぞれが <code><a href="/ja/docs/Web/HTML/Attributes/pattern">pattern</a></code> 属性によってそのように定義されています。</p> +ここでは、北米の電話番号のための 3 つの部分があり、電話番号の 3 つの構成要素すべてを包含する暗黙のラベルが、それぞれ 3 桁、3 桁、4 桁を期待しています。それぞれが [`pattern`](/ja/docs/Web/HTML/Attributes/pattern) 属性によってそのように定義されています。 -<p>値が長すぎたり短すぎたり、数字ではない文字が含まれていたりすると、 <code>patternMismatch</code> が true になります。 <code>true</code> の場合、要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。</p> +値が長すぎたり短すぎたり、数字ではない文字が含まれていたりすると、 `patternMismatch` が true になります。 `true` の場合、要素は CSS の {{cssxref(":invalid")}} 擬似クラスに一致します。 -<pre class="brush: css">input:invalid { +```css +input:invalid { border: red solid 3px; -}</pre> - -<p>{{EmbedLiveSample("Examples", 300, 40)}}</p> - -<p>この場合、値の長さを決定するのはパターンであるため、値が長すぎたり短すぎたりした場合に発生するのは <code>patternMismatch</code> であり、 {{domxref('validityState.tooLong')}} や {{domxref('validityState.tooShort')}} ではないことに注意してください。代わりに <code><a href="/ja/docs/Web/HTML/Attributes/minlength">minlength</a></code> と <code><a href="/ja/docs/Web/HTML/Attributes/maxlength">maxlength</a></code> 属性を使用していたら、 {{domxref('validityState.tooLong')}} または {{domxref('validityState.tooShort')}} が true になるかもしれません。</p> - -<div class="notecard note"> -<p>注: pattern 属性がない場合、 <code>{{HTMLElement("input/email", "email")}}</code> 入力型は、少なくとも <code>x@y</code> に一致する必要があり、 <code>{{HTMLElement("input/url", "url")}}</code> 型は、少なくとも x: に一致する必要があります。無効な場合、 pattern 属性がない場合 (またはその入力型で pattern 属性が無効な場合) は {{domxref('validityState.typeMismatch')}} が true になります。</p> -</div> - -<h2 id="Specifications">仕様書</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - <th scope="col">状態</th> - <th scope="col">備考</th> - </tr> - <tr> - <td>{{ SpecName('HTML WHATWG', 'constraints.html#dom-validitystate-patternmismatch', 'ValidityState.patternMismatch') }}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td></td> - </tr> - <tr> - <td>{{ SpecName('HTML5.1', 'sec-forms.html#dom-validitystate-patternmismatch', 'ValidityState.patternMismatch') }}</td> - <td>{{Spec2('HTML5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{ SpecName('HTML5 W3C', 'forms.html#dom-validitystate-patternmismatch', 'ValidityState.patternMismatch') }}</td> - <td>{{Spec2('HTML5 W3C')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility">ブラウザーの互換性</h2> - -<p>{{Compat("api.ValidityState.patternMismatch")}}</p> - -<h2 id="See_also">関連情報</h2> - -<ul> - <li><a href="/ja/docs/Web/Guide/HTML/HTML5/Constraint_validation">制約検証</a></li> - <li><a href="/ja/docs/Learn/Forms/Form_validation">フォーム: データフォームの検証</a></li> - <li><a href="/ja/docs/Web/JavaScript/Guide/Regular_Expressions">正規表現</a></li> -</ul> +} +``` + +{{EmbedLiveSample("Examples", 300, 40)}} + +この場合、値の長さを決定するのはパターンであるため、値が長すぎたり短すぎたりした場合に発生するのは `patternMismatch` であり、 {{domxref('validityState.tooLong')}} や {{domxref('validityState.tooShort')}} ではないことに注意してください。代わりに [`minlength`](/ja/docs/Web/HTML/Attributes/minlength) と [`maxlength`](/ja/docs/Web/HTML/Attributes/maxlength) 属性を使用していたら、 {{domxref('validityState.tooLong')}} または {{domxref('validityState.tooShort')}} が true になるかもしれません。 + +> **Note:** pattern 属性がない場合、 `{{HTMLElement("input/email", "email")}}` 入力型は、少なくとも `x@y` に一致する必要があり、 `{{HTMLElement("input/url", "url")}}` 型は、少なくとも x: に一致する必要があります。無効な場合、 pattern 属性がない場合 (またはその入力型で pattern 属性が無効な場合) は {{domxref('validityState.typeMismatch')}} が true になります。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) +- [正規表現](/ja/docs/Web/JavaScript/Guide/Regular_Expressions) diff --git a/files/ja/web/api/validitystate/rangeoverflow/index.md b/files/ja/web/api/validitystate/rangeoverflow/index.md new file mode 100644 index 0000000000..e62425dce1 --- /dev/null +++ b/files/ja/web/api/validitystate/rangeoverflow/index.md @@ -0,0 +1,39 @@ +--- +title: ValidityState.rangeOverflow +slug: Web/API/ValidityState/rangeOverflow +tags: + - API + - 制約検証 API + - DOM + - プロパティ + - リファレンス +browser-compat: api.ValidityState.rangeOverflow +translation_of: Web/API/ValidityState/rangeOverflow +--- +**`rangeOverflow`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} の値がユーザーに変更された後、その要素の [`max`](/ja/docs/Web/HTML/Attributes/max) 属性に設定された制約に適合しないことを示します。 + +フィールドが数値の性質を持つ場合、例えば {{HTMLElement("input/date", "date")}}, {{HTMLElement("input/month", "month")}}, {{HTMLElement("input/week", "week")}}, {{HTMLElement("input/time", "time")}}, {{HTMLElement("input/datetime-local", "datetime-local")}}, {{HTMLElement("input/number", "number")}}, {{HTMLElement("input/range", "range")}} の何れかの型であり、 `max` が設定されており、値が [`max`](/ja/docs/Web/HTML/Attributes/step) の値に設定された制約に適合しない場合、 `rangeOverflow` プロパティが true になります。 + +次のようになっていたとします。 + +```html +<input type="number" min="20" max="40" step="2"/> +``` + +`value > 40` であれば、 `rangeOverflow` は true になります。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} 擬似クラスに一致します。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("ValidityState.rangeUnderflow")}} +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) +- [`step` 属性](/ja/docs/Web/HTML/Attributes/step) +- [`min` 属性](/ja/docs/Web/HTML/Attributes/min) diff --git a/files/ja/web/api/validitystate/rangeunderflow/index.md b/files/ja/web/api/validitystate/rangeunderflow/index.md new file mode 100644 index 0000000000..1b7560f24a --- /dev/null +++ b/files/ja/web/api/validitystate/rangeunderflow/index.md @@ -0,0 +1,39 @@ +--- +title: ValidityState.rangeUnderflow +slug: Web/API/ValidityState/rangeUnderflow +tags: + - API + - 制約検証 API + - DOM + - プロパティ + - リファレンス +browser-compat: api.ValidityState.rangeUnderflow +translation_of: Web/API/ValidityState/rangeUnderflow +--- +**`rangeUnderflow`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} の値がユーザーに変更された後、その要素の [`min`](/ja/docs/Web/HTML/Attributes/min) 属性に設定された制約に適合しないことを示します。 + +フィールドが数値の性質を持つ場合、例えば {{HTMLElement("input/date", "date")}}, {{HTMLElement("input/month", "month")}}, {{HTMLElement("input/week", "week")}}, {{HTMLElement("input/time", "time")}}, {{HTMLElement("input/datetime-local", "datetime-local")}}, {{HTMLElement("input/number", "number")}}, {{HTMLElement("input/range", "range")}} の何れかの型であり、 `min` が設定されており、値が [`min`](/ja/docs/Web/HTML/Attributes/step) の値に設定された制約に適合しない場合、 `rangeUnderflow` プロパティが true になります。 + +次のようになっていたとします。 + +```html +<input type="number" min="20" max="40" step="2"/> +``` + +`value < 20` であれば、 `rangeUnderflow` は true になります。 `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} 擬似クラスに一致します。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{domxref("ValidityState.rangeOverflow")}} +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) +- [`step` 属性](/ja/docs/Web/HTML/Attributes/step) +- [`max` 属性](/ja/docs/Web/HTML/Attributes/max) diff --git a/files/ja/web/api/validitystate/stepmismatch/index.md b/files/ja/web/api/validitystate/stepmismatch/index.md new file mode 100644 index 0000000000..d408e26b25 --- /dev/null +++ b/files/ja/web/api/validitystate/stepmismatch/index.md @@ -0,0 +1,39 @@ +--- +title: ValidityState.stepMismatch +slug: Web/API/ValidityState/stepMismatch +tags: + - API + - 制約検証 API + - DOM + - プロパティ + - リファレンス +browser-compat: api.ValidityState.stepMismatch +translation_of: Web/API/ValidityState/stepMismatch +--- +**`stepMismatch`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} の値がユーザーに変更された後、その要素の `step` 属性に設定された制約に適合しないことを示します。 + +フィールドが数値の性質を持つ場合、例えば {{HTMLElement("input/date", "date")}}, {{HTMLElement("input/month", "month")}}, {{HTMLElement("input/week", "week")}}, {{HTMLElement("input/time", "time")}}, {{HTMLElement("input/datetime-local", "datetime-local")}}, {{HTMLElement("input/number", "number")}}, {{HTMLElement("input/range", "range")}} の何れかの型であり、 step の値が `any` ではなく、値がe [`step`](/ja/docs/Web/HTML/Attributes/step) と [`min`](/ja/docs/Web/HTML/Attributes/min) の値に設定された制約に適合しない場合に、 `stepMismatch` が true になります。フォームコントロールの値から [`min`](/ja/docs/Web/HTML/Attributes/min) の値を引き、 [`step`](/ja/docs/Web/HTML/Attributes/step) 値 (省略時は既定で 1) がゼロでない場合、一致しないと言えます。 + +次のようになっていたとします。 + +```html +<input type="number" min="20" max="40" step="2"/> +``` + +`(value - min) % 2 != 0` であれば、 `stepMismatch` は true になります。 + + `true` の場合、その要素は CSS の {{cssxref(":invalid")}} および {{cssxref(":out-of-range")}} 擬似クラスに一致します。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) +- [`step` 属性](/ja/docs/Web/HTML/Attributes/step) diff --git a/files/ja/web/api/validitystate/toolong/index.md b/files/ja/web/api/validitystate/toolong/index.md index d306cdb9a9..93407c30fb 100644 --- a/files/ja/web/api/validitystate/toolong/index.md +++ b/files/ja/web/api/validitystate/toolong/index.md @@ -3,53 +3,27 @@ title: ValidityState.tooLong slug: Web/API/ValidityState/tooLong tags: - API - - Constraint Validation API + - 制約検証 API - DOM - - Property - - Reference + - NeedsExample + - プロパティ + - リファレンス +browser-compat: api.ValidityState.tooLong translation_of: Web/API/ValidityState/tooLong --- -<p>読み取り専用のプロパティ <strong><code>ValidityState.tooLong</code></strong> は、 +{{draft}} +**`tooLong`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用のプロパティで、 {{HTMLElement("input")}} や {{HTMLElement("textarea")}} の値がユーザーに変更された後、その要素の [`maxlength`](/ja/docs/Web/HTML/Attributes/maxlength) 属性で設定された最大コード単位長を超えているかどうかを示します。 -{{HTMLElement("input")}} や {{HTMLElement("textarea")}} の値が、ユーザーの編集によって、その要素の <code>maxlength</code> 属性で設定された最大コード単位長を超えているかどうかを示します。</p> +## 仕様書 -<h2 id="Specifications" name="Specifications">仕様</h2> +{{Specifications}} -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - <th scope="col">策定状況</th> - <th scope="col">コメント</th> - </tr> - <tr> - <td>{{ SpecName('HTML WHATWG', 'constraints.html#dom-validitystate-toolong', 'ValidityState.tooLong') }}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td> </td> - </tr> - <tr> - <td>{{ SpecName('HTML5.1', '#dom-validitystate-toolong', 'ValidityState.tooLong') }}</td> - <td>{{Spec2('HTML5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{ SpecName('HTML5 W3C', 'forms.html#dom-validitystate-toolong', 'ValidityState.tooLong') }}</td> - <td>{{Spec2('HTML5 W3C')}}</td> - <td> </td> - </tr> - </tbody> -</table> +## ブラウザーの互換性 -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> +{{Compat}} +## 関連情報 - -<p>{{Compat("api.ValidityState.tooLong")}}</p> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li><a href="/ja/docs/Web/HTML/HTML5/Constraint_validation">制約の検証</a></li> - <li><a href="/ja/docs/Learn/HTML/Forms/Data_form_validation">フォームデータの検証</a></li> -</ul> +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) diff --git a/files/ja/web/api/validitystate/tooshort/index.md b/files/ja/web/api/validitystate/tooshort/index.md new file mode 100644 index 0000000000..5af84a7f13 --- /dev/null +++ b/files/ja/web/api/validitystate/tooshort/index.md @@ -0,0 +1,19 @@ +--- +title: ValidityState.tooShort +slug: Web/API/ValidityState/tooShort +browser-compat: api.ValidityState.tooShort +--- +**`tooShort`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}}, {{HTMLElement("button")}}, {{HTMLElement("select")}}, {{HTMLElement("output")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("textarea")}} の何れかの値がユーザーによって変更された後、要素の `minlength` 属性で指定されたコード単位長よりも短くなったことを示します。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [ガイド: 制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [チュートリアル: フォームデータの検証](/ja/docs/Learn/Forms/Form_validation) diff --git a/files/ja/web/api/validitystate/typemismatch/index.md b/files/ja/web/api/validitystate/typemismatch/index.md new file mode 100644 index 0000000000..327ebd526e --- /dev/null +++ b/files/ja/web/api/validitystate/typemismatch/index.md @@ -0,0 +1,68 @@ +--- +title: ValidityState.typeMismatch +slug: Web/API/ValidityState/typeMismatch +tags: + - API + - 制約検証 API + - DOM + - プロパティ + - リファレンス +browser-compat: api.ValidityState.typeMismatch +--- +{{draft}}**`typeMismatch`** は **[`ValidityState`](/ja/docs/Web/API/ValidityState)** オブジェクトの読み取り専用プロパティで、 {{HTMLElement("input")}} の値がユーザーによって変更された後、その要素の [`type`](/ja/docs/Web/HTML/Element/input#input_types) 属性で設定された制約に適合していないことを示します。 + +`type` 属性が特定の文字列を期待する場合、例えば {{HTMLElement("input/email", "email")}} や {{HTMLElement("input/url", "url")}} 型で、型で設定された制約に適合しない値である場合は、 `typeMismatch` プロパティが true になります。 + +{{HTMLElement("input/email", "email")}} 入力型は [`multiple`](/ja/docs/Web/HTML/Attributes/multiple) 属性が存在するかどうかに応じて、 1 つ以上の有効なメールアドレスを期待します。有効なメールアドレスには、メールの先頭部分と、トップレベルドメインの有無にかかわらず、ドメインが含まれます。 email 入力の値が、空の文字列、単一の有効なメールアドレス、または、[`multiple`](/ja/docs/Web/HTML/Attributes/multiple) 属性が存在する場合はカンマで区切られた 1 つ以上のメールアドレスでない場合は、 `typeMismatch` となります。 + +{{HTMLElement("input/url", "url")}} 入力型は、[`multiple`](/ja/docs/Web/HTML/Attributes/multiple) 属性が存在するかどうかに応じて、 1 つ以上の有効な URL を想定しています。有効な URL には、プロトコル、任意で IP アドレス、または任意でサブドメイン、ドメイン、トップレベルドメインの組み合わせが含まれます。 URL 入力の値が空の文字列、単一の有効な URL、または [`multiple`](/ja/docs/Web/HTML/Attributes/multiple) 属性が存在する場合はカンマで区切られた 1 つまたは複数の URL でない場合は、 `typeMismatch` となります。 + +| 入力型 | 値 | 期待される値 | +| --------------------------------------- | ----------------- | ---------------------------------------- | +| {{HTMLElement("input/email", "email")}} | `x@y` や `x@y.z` | [TLD] の有無にかかわらず、メールアドレス | +| {{HTMLElement("input/url", "url")}} | `x:` や `x://y.z` | プロトコルやプロトコル付きの完全 URL | + +## 例 + +次のような例があったとします。 + +```html +<p> + <label> + Enter an email address: + <input type="email" value="example.com"/> + </label> +</p> +<p> + <label> + Enter a URL: + <input type="url" value="example.com"/> + </label> +</p> +``` + +```css +input:invalid { + border: red solid 3px; +} +``` + +{{EmbedLiveSample("Examples", 300, 40)}} + +上記のものは、メールアドレスが単なるドメインであり、 URL にプロトコルがないため、`typeMismatch`が発生します。 + +`typeMismatch` は、 [`type`](/ja/docs/Web/HTML/Element/input#%3cinput%3e_types) 属性で期待される [`value`](/ja/docs/Web/HTML/Attributes/value) の値と、実際に存在するデータとの間に不一致がある場合に発生します。 `typeMismatch` は数あるエラーのひとつで、 {{HTMLElement("input/email", "email")}} と {{HTMLElement("input/url", "url")}} の入力型にのみ関係します。他の入力型では、提供された値が型に基づく期待値と一致しない場合、異なるエラーが発生します。例えば、 {{HTMLElement("input/number", "number")}} の入力値が浮動小数点数でない場合、 `badInput` が `true` になります。メールが [`required`](/ja/docs/Web/HTML/Attributes/required) であるにもかかわらず空の場合は、 {{domxref('ValidityState.valueMissing','valueMissing')}} が `true` になります。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [制約検証](/ja/docs/Web/Guide/HTML/Constraint_validation) +- [フォーム: データフォームの検証](/ja/docs/Learn/Forms/Form_validation) +- [正規表現](/ja/docs/Web/JavaScript/Guide/Regular_Expressions) |