當輸入與模式屬性指定的模式不匹配時,瀏覽器在該字段的工具提示中顯示「您必須使用此格式:」。隱藏ASP.NET/MVC中定義的HTML5驗證工具提示
我無法隱藏這個工具提示信息,我可以嗎?因爲即使當我寫
@Html.TextBoxFor(model => model.tbMyNumber, new { @pattern = "[0-9]{6,}", title="" })
它仍然帶來「你必須使用這種格式:」在這個領域的工具提示。 我該如何避免這種情況?
當輸入與模式屬性指定的模式不匹配時,瀏覽器在該字段的工具提示中顯示「您必須使用此格式:」。隱藏ASP.NET/MVC中定義的HTML5驗證工具提示
我無法隱藏這個工具提示信息,我可以嗎?因爲即使當我寫
@Html.TextBoxFor(model => model.tbMyNumber, new { @pattern = "[0-9]{6,}", title="" })
它仍然帶來「你必須使用這種格式:」在這個領域的工具提示。 我該如何避免這種情況?
我想這是不是您所期望的答案是什麼,但你也許可以用JavaScript
HTML周圍正常工作的問題: *字符串必須至少6位數
<br/>
<input type="text" onkeyup="isNumber(this)" onblur="lengthValidation(this)">
的Javascript:
function isNumber(textbox)
{
textbox.value = textbox.value.replace(/[\D]+/, '');
}
function lengthValidation(textbox)
{
if (textbox.value.length < 6) {
document.getElementById("error").style.display = 'block';
} else {
document.getElementById("error").style.display = 'none';
}
}
是的,這個示例有效,但是因爲我想用HTML5模式和驗證來解決它,所以它目前不是解決所描述問題的解決方案。 – SchweizerSchoggi
我不認爲有沒有辦法做到你想要的,而無需添加JavaScript。一個簡單的替代辦法是用JavaScript來驗證(下面的例子使用jQuery示出),而不是...
$('#myform').submit(function() {
if(!/^[0-9]{6,}$/.test($('#mytext').val())) {
return false;
}
});
這將防止形式從提交如果值不匹配圖案...而不顯示工具提示...只要確保你有一個選擇,所以用戶不會懷疑他們爲什麼不能提交表格。
如果你不想要任何消息,你可以刪除模式屬性。如果您試圖隱藏它,那麼想知道爲什麼他們不能提交表單的用戶會感到困惑。這就是說......當用戶試圖提交與你的模式不匹配的東西時,你想要發生什麼? – smerny
如果輸入無效,則該字段已標記爲紅色(淺紅色背景,深紅色邊框),並帶有CSS。標準驗證消息也是隱藏的。只是工具提示不會消失,我不明白爲什麼。 – SchweizerSchoggi