0

私の問題を再現するために、この非常に単純なコードを作成しました。入力テキストに値がない場合、フォームは送信されません (正解)。ただし、select 入力が選択されていない (正しくない) 場合は送信されます。ここで非常に基本的なものが欠けている可能性がありますが、何がわかりません。

編集:これが Firefox で機能することに気付きました。クロムではありません。

編集 2: Chrome は、コードにあるものではなく、次のようにページをレンダリングしています。

<option value>Select</option>

理由はありますか?それが重要な場合、それは .razor ページです。しかし、他の調査によると、value="" がないことが Chrome で機能しない理由です。

     <form>
        <div>
            Any Text: 
            <input type="text" required="required" />
        </div>
        <div>
            Country: 
            <select required="required">
                <option value="">Select</option>
                <option value="US">United States</option>
                <option value="CA">Canada</option>
            </select>
        </div>
        <div>
            <button type="submit">
                Test
            </button>
        </div>
    </form>

編集 3:次の回避策を使用して HTML を Chrome で正しくレンダリングするようにしましたが、Chrome での検証はまだ機能しません。

  <form>
        <div>
            Any Text:
            <input type="text" required="required" />
        </div>
        <div>
            Country:
            <select required="required">
                <option value="@blankString">Select</option>
                <option value="US">United States</option>
                <option value="CA">Canada</option>
            </select>
        </div>
        <div>
            <button type="submit">
                Test
            </button>
        </div>
    </form>

@code {
    string blankString = "";
}

ページ コード ソース:

<select required="required">
                <option value="">Select</option>
                <option value="US">United States</option>
                <option value="CA">Canada</option>
            </select>
4

1 に答える 1