2012-05-25 14 views
33

html5フォームフィールドでエラーメッセージの言語を変更しようとしています。html5の連絡先フォームの必須フィールドのエラーメッセージの言語を変更する

私はこのコードを持っている:

<input type="text" name="company_name" oninvalid="setCustomValidity('Lütfen işaretli yerleri doldurunuz')" required /> 

が、上の提出を偶数フィールドが空白でない、私はまだエラーメッセージが表示されます。

Iは<input type="text" name="company_name" setCustomValidity('Lütfen işaretli yerleri doldurunuz') required />

と試みたが、その後、英語のメッセージが表示されます。誰でもどのように私は他の言語でエラーメッセージを表示することができます知っている?

よろしく、ゾラン

+0

'setCustomValidity'関数を表示できますか? – antyrat

+0

私はそれが機能に組み込まれていると思いますか?そうじゃない? – Zoran

答えて

49

setCustomValidityの目的は、単に検証メッセージ、それ自体マークフィールドとして無効を設定することではありません。ネイティブにサポートされていないカスタム検証チェックを記述することができます。

カスタムメッセージを設定するには2通りの方法があります.1つはJavascriptを含まない簡単な方法とそうでない方法です。

入力要素にtitle属性を使用するのが最も簡単な方法です。コンテンツは標準のブラウザメッセージと共に表示されます。

<input type="text" required title="Lütfen işaretli yerleri doldurunuz" /> 

enter image description here

あなただけのカスタムメッセージを表示する場合は、JavaScriptのビットが必要です。私はthis fiddleに両方の例を提供しました。

+0

私はjavacriptのソリューションと一緒に行きます。すべての空のフィールドをチェックする簡単な方法はありますか?私の場合はすべてのフィールドが必要ですし、フォームはかなり長いです。どのようにjavascriptを書き直すことができるので、すべてのフィールドをチェックしますか?またはそれは1つずつでなければなりませんか? – Zoran

+0

タイトルのコードは、カスタムCSSでしか動作しないか、一部のブラウザでのみ動作します。私はそれを加えて、トルコのメッセージを見ることができません – Zoran

+0

すべての入力、テキストエリア、および選択フィールドをチェックする[更新版](http://jsfiddle.net/zpkKv/3/)を追加しました。どのブラウザでテストしていますか? HTML5フォームの検証は、全面的にサポートされていません。 – janfoeh

9

HTML:

<form id="myform"> 
    <input id="email" oninvalid="InvalidMsg(this);" name="email" oninput="InvalidMsg(this);" type="email" required="required" /> 
    <input type="submit" /> 
</form> 

JAVASCRIPT:

function InvalidMsg(textbox) { 
    if (textbox.value == '') { 
     textbox.setCustomValidity('Lütfen işaretli yerleri doldurunuz'); 
    } 
    else if (textbox.validity.typeMismatch){{ 
     textbox.setCustomValidity('please enter a valid email address'); 
    } 
    else { 
     textbox.setCustomValidity(''); 
    } 
    return true; 
} 

デモ:

http://jsfiddle.net/patelriki13/Sqq8e/4

20

あなたはこれで、あなたのコードを変更、oninvalidthisを忘れ:

oninvalid="this.setCustomValidity('Lütfen işaretli yerleri doldurunuz')" 

enter image description here

<form><input type="text" name="company_name" oninvalid="this.setCustomValidity('Lütfen işaretli yerleri doldurunuz')" required /><input type="submit"> 
 
</form>

+1

ありがとうございました –

+0

残念ながら、これは私にとってはうまくいきませんでした。私が空のフィールドで提出しようとした後、メッセージが表示されましたが、フィールドを記入しても常に表示されました。 –

+0

"残念ながら、これは私のためにはうまくいかなかった..." タグに忘れてしまった! –

5

私はこれは古い記事です知っているが、私は私の経験を共有したいです。

HTML:

のJavascript(jQueryの):

$('input[required]').on('invalid', function() { 
    this.setCustomValidity($(this).data("required-message")); 
}); 

これは非常に単純なサンプルです。私はこれが誰にも役立つことを願っています。

-1
<input type="text" id="inputName" placeholder="Enter name" required oninvalid="this.setCustomValidity('Please Enter your first name')" > 

これは簡単な&便利な、高速、さらに多くの、より良いあなたを助けることができます。

関連する問題