
jquery.validationEngine.jsを使用しています。
validationEngine.jquery.css
「.formError .formErrorContent」
スタイルシートを変更したり、または、
「data-prompt-position="inline"」
などを駆使して、
エラーコメントが
<input>の真下に出るようにしたり、または
コメントが長くなったら、横幅のサイズを変えたりとしていますが、
なかなかうまくいきません。
<input>によって
.formError.inline {}のスタイルシートを分けることができますでしょうか。
分けてみてもjsでCSSを設定しているためかまったく聞きません。
宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
回答がないみたいですので・・・validationEngineって使ったことがないですし、英語を読むのも苦手なので大雑把にテストしただけですが、何かのご参考にでもなれば。
一応、validationEngineはこれのことだと解釈しています。
https://github.com/posabsolute/jQuery-Validation …
どの程度の制御をなさりたいのかご質問文の情報だけではよくわからないのですが、
>コメントが長くなったら、横幅のサイズを変えたりとしていますが、
>なかなかうまくいきません。
程度のことであるのなら、widthを制限しておけばHTMLの特性として、文章が長くなれば自動的に折り返してくれるはずですけれど・・・?
とりあえず、個別にエラーメッセージの設定ができることを目標として考えてみました。
最終的には、それぞれに個別のCSSを適用できれば良いので、個々に指定可能なセレクタさえ設定できれば良い
ドキュメンテーションをざっと眺めてみると(読んでないけど)、「表示スタイルを変えたいときは、CSSをいじってね」みたいなことが書かれているので、スクリプトとCSSが干渉することのないようにきちんと作成されているようです。
コメントのdivは、エラーが発生する都度、生成/削除されているようで、文書内の該当input等の直前に挿入されるようです。
直後であれば、input(←idを設けていると思いますので)の隣接セレクタで特定が可能なのですが、直前だとうまくいきませんね。
ということで、以下の2種類の方法で試してみました。
1)label:nth-childを利用して個別に特定する。
2)スクリプトでバリデーション実行時にフックできる仕組みがあるようなので、それを利用して、メッセージに個別の識別子を設定する。(例えばinputのidをクラスとしてメッセージに設定するとか)
どちらの方法でもできましたが、確認中によく見てみると、すでに個別の識別子が設定されているみたい。
作者さんがちゃんとそこまで配慮してくれているようでした。(気付かんかった)
メッセージのdiv要素のクラスに、「input要素のid」+"formError" という個別のクラス設定がされていました。
ということで、なんのことはない。それを利用すればセレクタで個別に指定可能になっています。
(ドキュメントをちゃんと読めばどこかに書いてあったのかも。)
デモの中にある「demoAdjustments」を例にしてみると、
そのままだと、添付図の左側になりますが、2番目と3番目を個別に指定してみると右側のようになります。
標準のとなるものはメインのCSSで設定し、個別指定のものは変わる部分だけを指定すればよいです。
(個別指定がきちんと反映されるように、セレクタの詳細度にご注意。)
指定しているのは、背景色、文字色、文字サイズ・太さ、ボックスの幅など。
背景色は吹き出し状の矢印部分が別要素になっているので、そちらも指定しておかないと違う色のつぎはぎになっちゃいます。
※ ご参考までに、添付図で追加したCSSは以下です。
/* input#req2用のCSS */
.req2formError .formErrorContent {
background-color:moccasin; color:blue;
font-size:14px;
}
.req2formError .formErrorArrow div {
background-color:moccasin;
}
/* textarea#add用のCSS */
.addformError .formErrorContent {
background-color:lightgreen; color:red;
font-size:16px; font-weight:bold;
min-width:30px; max-width:60px;
}
.addformError .formErrorArrow div {
background-color:lightgreen;
}

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
全角半角含めて等幅で表示したい
-
CSSで英語はふつうの大きさ...
-
Powered by FC2.comの文字サイズ
-
cssファイルの名称付け
-
教えてください。
-
マイクロ(μ)の文字を半角で出...
-
コピーライト記号の表示が小さい
-
<table></table>内のFONT指定に...
-
Illustratorで作成、pngで保存...
-
入力規則のリストの文字の大き...
-
右に伸びて展開するホームペー...
-
オプションメニューの中の文字...
-
excelをhtmlに変換した途端、一...
-
font-familyのフォント名について
-
アンドロイドスマホでのphp ech...
-
outlook 文字を揃えたい。tab...
-
印刷時ヘッダーとフッターを挿入
-
スタイルシートファイルのファ...
-
googleマップのストリートビュ...
-
VBによる改頁行の罫線変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストの前後の行間をなくす方...
-
文字の位置、上下のマージンが...
-
Excel VBA メール作成について ...
-
background-color: #ddd;の意味...
-
全角半角含めて等幅で表示したい
-
アコーディオンメニューが思う...
-
ホームページビルダー作成HPがi...
-
Format 関数 表示書式指定文字...
-
CSSでのフォントサイズ指定にお...
-
タグが反映してくれません
-
特定の文字のみcssを適用するに...
-
リストのデフォルトの表示位置は?
-
<input type="file"> の幅
-
掲示板をつくりたいのですが、...
-
テーブルの中の文字が小さくで...
-
CSSのid名class名の重複回避方...
-
<FONT>のCOLOR属性について
-
A:link等の指定をstyle属性でタ...
-
スタイルシートでの段組指定に...
-
jquery.validationEngine.jsカ...
おすすめ情報