オリジナルJS検証フォームに基づくコンポーネント:xy-form
4502 ワード
オリジナルformフォーム
オリジナルのフォーム検証は次のようになります.
醜いが、機能は強く、一般的なニーズを基本的に満たすことができるが、uiは結局原生的であり、カスタマイズも容易ではないため、このようなデフォルトのフォーム検証は使用されないことが多い.
構造は基本的に原生と類似しており、追加の
醜いアヒルはすぐに白鳥になったと言える.
xy-form
使用方法
使い方が簡単 npm cdn または
使用
フォームのデフォルトの動作
ツールバーの
ここでのデフォルトの動作とは、フォームアドレス 値は
リターンキーがフォームをトリガーします.要求方式 要求方式を規定し、デフォルトは検証 このプロパティを使用すると、フォームのコミット時に検証は行われません.
方法提出 フォームにクリア フォームに
次は最もアカウントのパスワードのログインボックスです.
次のようにレンダリング
まず、入力ボックスには
次に、パスワードボックスは
すべてが要求を満たすまでコミットできない場合は、コンソールでコミットされたフォームデータを表示し、formData形式でjsonを変換できます.
カスタムフォーム
カスタムフォームの発行
フォームに
フォームの値は
カスタムフォーム検証
デフォルトでは、検証に失敗した場合、フォームはコミットされません.
すべてのフォーム要素は、フォームの
また、
詳細はxy-inputのドキュメントを参照してください
その他
form
フォーム要素は皆さんが使ったことがあるかもしれませんが、フォームを提出できるほか、require
、minlength
、maxlength
、input
などの内蔵フォーム検証もあります.また、type=email
はメールボックスタイプかどうかを検証することができます.オリジナルのフォーム検証は次のようになります.
醜いが、機能は強く、一般的なニーズを基本的に満たすことができるが、uiは結局原生的であり、カスタマイズも容易ではないため、このようなデフォルトのフォーム検証は使用されないことが多い.
pattern
の効果を見てみましょう構造は基本的に原生と類似しており、追加の
xy-form
論理も必要ありません.醜いアヒルはすぐに白鳥になったと言える.
xy-form
js
はxy-form
の新しいコンポーネントで、主にフォームの提出とフォームの検証に使用され、オリジナルのxy-ui
フォームに完全に取って代わることができます.以下、主な属性と方法を簡単に紹介します.オンラインドキュメントを読むことをお勧めします.リアルタイムで対話することができます.使用方法
使い方が簡単
npm i xy-ui
import 'https://unpkg.com/xy-ui/components/xy-form.js'
form
から直接ソースコードをコピーします.
import './node_modules/xy-ui/components/xy-form.js';
使用
...
フォームのデフォルトの動作
ツールバーの
github
には、xy-form
仕様に基づいて、次の属性が組み込まれています.ここでのデフォルトの動作とは、
html5
ボタンをクリックしたり、車に戻ったりして、フォームはまず表の要素をフォーマットチェックし、間違いがあれば間違いがある場所を表示し、すべてが正しい後に提出することを意味します.submit
action
で、フォームデータをどこに送信するかを規定します.リターンキーがフォームをトリガーします.
URL
method
、オプションはget
である.post
方法
novalidate
submit
のボタンが含まれている場合、このボタンをクリックするとフォームのコミットがトリガーされます.htmltype="submit"
によってアクティブにトリガすることができる.form.submit()
reset
のボタンが含まれている場合は、このボタンをクリックしてフォームを空にします.htmltype="reset"
によってアクティブにトリガすることができる.次は最もアカウントのパスワードのログインボックスです.
login
reset
次のようにレンダリング
まず、入力ボックスには
form.reset()
の属性が設定されており、必須項目を示しています.required
に入力しないと、以下の情報が表示されます.次に、パスワードボックスは
submit
の属性を規定し、最小文字長を表し、フォーマットを満たさない場合、以下の情報を提示するすべてが要求を満たすまでコミットできない場合は、コンソールでコミットされたフォームデータを表示し、formData形式でjsonを変換できます.
カスタムフォーム
カスタムフォームの発行
フォームに
minlength
のプロパティがある場合、リターンキーはフォームのコミットをトリガーし、action
のボタンが含まれている場合は、このボタンをクリックしてフォームのコミットをトリガーします.htmltype="submit"
で手動でコミットしたい場合は、ajax
のプロパティを削除すると、デフォルトのフォームコミット効果はトリガーされません.フォームの値は
action
で取得できます.sumbitBtn.onclick = function(){
fetch('/login', {
method: 'POST',
body: form.formdata,
})
.then(function(data){
//
})
}
カスタムフォーム検証
デフォルトでは、検証に失敗した場合、フォームはコミットされません.
すべてのフォーム要素は、フォームの
form.formdata
メソッドによって手動で検証することも、form.checkValidity()
によって検証の妥当性を取得することもできる.sumbitBtn.onclick = function(){
if(form.checkValidity()){
//
XyDialog.success({
title:" ",
content:JSON.stringify(form.formdata.json)
})
}
}
また、
form.validity
は、重複パスワードの確認などのチェックルールをカスタマイズすることができるpwdAgain.customValidity = {
method:(el)=>{
return el.value == pwd.value;
},
tips:' '
}
詳細はxy-inputのドキュメントを参照してください
その他
xy-input
は独立したコンポーネントではありません.xy-form
、xy-input
、xy-checkbox
、xy-radio
などの多くのフォーム要素は言及されていません.ドキュメントを参照することができます.これらのコンポーネントがあれば、文章に示すようにフォームチェックを簡単に完了することができます.xy-form
は、フレームワークに制限されず、直接使用できるオリジナルのWebコンポーネントです.他の類似のコンポーネントを使用したい場合は、xy-uiに注目して、他の一般的なインタラクティブなコンポーネントを集めて、star~を歓迎します.