web-dev-qa-db-ja.com

フォームの検証-サーバー側とクライアント側

Joomlaで両方のタイプの検証を見て混乱しました。これまでのところ、これらの2つの私の理解は以下の通りです

クライアント側の検証

クライアントブラウザのjQuery/Javascriptを介して行われる

サーバー側の検証

ページが送信された後にサーバーで行われます

サーバー側の検証が単純な必須フィールドの例でどのように機能するかを理解しようとしています。

以下のXMLフォームフィールド

<field name="note_name" 
  type="text" 
  label="Note Name" 
  required="true" />

Default.phpには以下のコードがあります

//JHtml::_('behavior.formvalidation');
<form .... class="form-vertical" ...>
echo $this->form->renderField('note_name');
<button type="submit" class="btn btn-primary">Save</button>

上記のコードには、クライアント側の検証コードを含めておらず、ページが送信され、サーバーが検証を行うと考えていました。しかし、ページは送信されず、単に「このフィールドを入力してください」と尋ねるフィールドの近くにニースポップアップが表示されます。

ここで何が欠けていますか?クライアント側の検証コードを含めていないのに、クライアントの検証がトリガーされるのはなぜですか?

1
Malaiselvan

required属性が入力フィールドに設定されているため、ブラウザーによる自動検証です。これをサポートするブラウザのリストを次に示します。 http://caniuse.com/#feat=form-validation

1
Marko D