Validationクラスは、データの検証とエラー処理を実行するためのPHPユーティリティです。検証が失敗したときに、一連のルールとリターンエラーメッセージに対してユーザーが提供するデータを検証するように設計されています。
Composerを使用して、 Validationクラスとその依存関係を簡単にインストールできます。 Composerをグローバルにまだインストールしていない場合は、Composer Webサイトの指示に従ってそうすることができます。
作曲家がインストールされたら、プロジェクトのルートディレクトリで次のコマンドを実行することにより、 validation-my-phpパッケージをプロジェクトに追加できます。
composer require rizwan3d/validation-my-phpValidationクラスを使用するには、最初にそれを初期化し、必要に応じてデータベース接続パラメーターを設定する必要があります。これがそれを行う方法の例です:
use ValidationMyPhp Validation ;
Validation:: $ DB_HOST = ' 127.0.0.1 ' ;
Validation:: $ DB_NAME = ' database ' ;
Validation:: $ DB_PASSWORD = '' ;
Validation:: $ DB_USER = ' root ' ;
$ validation = new Validation ();Validationオブジェクトが作成されたら、 validateメソッドを使用してデータを検証できます。検証するためのデータ、検証ルール、およびオプションのカスタムエラーメッセージを提供する必要があります。データを検証する方法の例は次のとおりです。
$ data = [
' firstname ' => '' ,
' username ' => ' 33158413 ' ,
' address ' => ' This is my address ' ,
' zipcode ' => ' 1 ' ,
' email ' => ' jo@ ' ,
' password ' => ' test123 ' ,
' password2 ' => ' test ' ,
];
$ fields = [
' firstname ' => ' required | max:255 ' ,
' lastname ' => ' required| max: 255 ' , // Note: 'lastname' field is missing in the data
' address ' => ' required | min: 10, max:255 ' ,
' zipcode ' => ' between: 5,6 ' ,
' username ' => ' required | alphanumeric | between: 3,255 | unique: users,username ' ,
' password ' => ' required | secure ' ,
' password2 ' => ' required | same:password '
];
$ errors = $ validation -> validate ( $ data , $ fields , [
' required ' => ' The %s is required ' ,
' password2 ' => [ ' same ' => ' Please enter the same password again ' ]
]);
print_r ( $ errors );上記の例では、 validateメソッドは、検証に失敗したフィールドのエラーメッセージの配列を返します。
fieldsアレイの各フィールドのさまざまな検証ルールを指定できます。一般的な検証ルールは次のとおりです。
required :フィールドが空であってはなりません。max:X :フィールドの長さはX文字を超えてはなりません。min:X :フィールドの長さは、少なくともx文字でなければなりません。between:X,Y :フィールドの長さはxとyの文字の間でなければなりません。alphanumeric :フィールドには英数字のみを含める必要があります。numeric :フィールドには数値文字のみを含める必要がありますunique:table,column :指定されたデータベーステーブルと列でフィールド値が一意であるかどうかを確認します。unique:table,column,soft_delete_col :指定されたデータベーステーブルと列でフィールド値が一意であるかどうかを確認します。exist:table,column :指定されたデータベーステーブルと列にフィールド値が存在するかどうかを確認します。exist:table,column,soft_delete_col :指定されたデータベーステーブルと列にフィールド値が存在するかどうかを確認します。email :フィールドが有効な電子メールアドレスであるかどうかを確認します。secure :フィールドに安全なパスワード(カスタムルール)が含まれているかどうかを検証します。same:field_name :フィールドが別のフィールドと同じ場合(たとえば、パスワード確認)を検証します。date:format :フィールドが提供されたフォーミートの日付であるかどうかを検証します。url :フィールドが有効なURLであるかどうかを検証します。url:formate :フィールドが提供された形成の有効なURLであるかどうかを検証します(http、https、ftp、custom、mailto、jdbcなど)。 '、'でsapringすることにより、複数のフォーマットが渡されます。accepted :フィールドにはい、オン、1、および真の値があるかどうかを検証します。after:time :フィールドが提供された時間の後に日付があるかどうかを検証します。alpha :フィールドにアルファベット文字のみが含まれている必要があるかどうかを検証します。extension :指定されたファイル拡張子が有効であるかどうかを検証します。各検証ルールにカスタムエラーメッセージを提供できます。この例では、カスタムエラーメッセージは、 validateメソッドの3番目の引数で定義されています。エラーメッセージでフィールド名のプレースホルダーとして%sを使用できます。
Validationクラスは、PHPアプリケーションでユーザー入力データを検証するプロセスを簡素化します。検証ルールを定義し、データに適用し、検証に失敗したフィールドのエラーメッセージを取得できます。これにより、ユーザーの入力が基準を満たすことを保証することにより、アプリケーションのセキュリティと信頼性を向上させるのに役立ちます。