私はホイールを初めて使用します(そして、ここにたくさん投稿すると確信しています)ので、ご容赦ください。
「ユーザー」のコントローラーの下に「登録」と「ログイン」の2つのフォームがあります。私のURLは次のようになります。
/ユーザー/登録/ /ユーザー/ログイン/
現時点では、models フォルダーには、init メソッド内の「登録」ページの検証を含む user.cfc しかありません。これは問題なく動作します。
基本的に...私の質問は...私のログインフォームの検証に関するものです。検証は常に init メソッドまたは別のメソッドに配置する必要がありますか? もしそうなら、どうすればいいですか?もちろん、各フォームには異なるフィールドがあります...そのため、現在どのフォームが使用されているかを検出するためのロジックを知る必要があります。
これが理にかなっていることを願っています。参考までに、私の user.cfc モデルは現在次のようになっています。
<cfcomponent extends="Model" output="true">
<cffunction name="init">
<cfset validate( property='userName', method='validateAlphaNumeric') />
<cfset validatesPresenceOf( properties='userName') />
<cfset validatesUniquenessOf( properties='userName') />
<cfset validatesFormatOf( property='userEmail', type='email', message="Email address is not in a valid format.") />
<cfset validatesPresenceOf( properties='userEmail') />
<cfset validatesUniquenessOf( properties='userEmail') />
<cfset validatesPresenceOf( properties='userPassword') />
<cfset validatesConfirmationOf( property='userPassword') />
<cfset validatesLengthOf( property="userToken", allowBlank=true) />
</cffunction>
<cffunction name="validateAlphaNumeric" access="private">
<cfif REFind("[^A-Za-z0-9]", this.userName, 1)>
<cfset addError( property="userName", message="User name can only contain letters and numbers." ) />
</cfif>
</cffunction>
</cfcomponent>
ありがとう、マイケル。