내 페이지의 모든 사용자 입력의 유효성을 검사하는 서버 측 유효성 검사 코드를 작성하고 싶습니다. 이 모든 서버 측 유효성 검사를 프레젠테이션 계층에서 유지하고 싶습니다. 이제 구성 요소를 만들고 내부의 모든 유효성 검사 기능을 유지할 것입니다. 내 사용자 페이지의 유효성 검사 방법에 액세스하려면 <cfinvoke>
태그를 사용합니다. 하지만 문제는 약 50 개의 사용자 입력에 대해 유효성 검증을 적용해야하고 <cfinvoke>
태그를 50 번 사용해야한다는 것입니다. 누구든지 <cfinvoke>
을 여러 번 사용하면 성능에 영향을 주거나 함께 갈 수있는 다른 더 나은 방법이 있다고 말해 줄 수 있습니까?ColdFusion에서 <cfinvoke> 사용
2
A
답변
3
<cfinvoke>
을 사용하여 눈에 띄는 오버 헤드가 없습니다. 그러나 나는 여전히 여기에서 그것을 피하도록 당신을 추천 할 것입니다.
Validator.cfc
<cfcomponent>
<cffunction name="validateX" access="public" ...>
...
</cffunction>
<cffunction name="validateY" access="public" ...>
...
</cffunction>
<cffunction name="validateZ" access="public" ...>
...
</cffunction>
</cfcomponent>
controller.cfm 이제
<cfset validator = new Validator()>
<cfset validator.validateX(...)>
<cfset validator.validateY(...)>
<cfset validator.validateZ(...)>
...
쉽게 검증 결과와 함께 작업 할 수 있습니다 대신이 (예)를 고려한다.
당신은 부울 반환하는 경우 : 당신이 오류가있는 배열을 반환하는 경우
<cfif validator.validateX(...)>
...
<cfelse>
...
</cfif>
가 :
<cfset errors = []>
<cfset errors.addAll(validator.validateX(...))>
<cfset errors.addAll(validator.validateY(...))>
<cfset errors.addAll(validator.validateZ(...))>
등
<cfinvoke>
이 클래스 (new Validator()
을)의 인스턴스를 생성하고 호출 같은 방법으로 validateX(...)
방법. 주요 차이점은 인스턴스가 모두 <cfinvoke>
에 새로 생성되고 반환 값을 입력 변수 (returnVariable
)로 지정해야하므로 대부분의 경우 성 가시니다.
감사합니다. Alex.의 사용 방법과 사용 방법의 차이점을 설명해 주시겠습니까? 나는 콜드 퓨전을 처음 접했습니다. 당신의 방법은 더 가독성이있는 것처럼 보입니다. –
작동 중입니다. 좋아했습니다. –
차가운 퓨전 9에서이 접근 방식을 사용할 수 있습니까? –