2012-01-26 13 views
1

lift wiki에있는 예제를 따르고 있습니다. 사용자 정의 필드를 만들 때 valMinLen(length,msg)과 같은 유효성 검사를 제공하는 방법이 궁금합니다. 나는 여러 가지 방법을 시도했지만 hadn'thad 어떤 행운.liftScreen 사용자 정의 필드의 유효성 확인

맞춤 작성한 입력란에 유효성을 부여하는 예를 제공해주세요.

편집 -

죄송 위의 질문이 명확하지 않은 경우,이

object MyScreen extends LiftScreen { 
    val password = new Field { 
    type ValueType = String 
    override def name = "Password" 
    override implicit def manifest = buildIt[String] 
    override def default = "" 
    override def toForm: Box[NodeSeq] = SHtml.password(is, set _) 
    } 
} 

여기에서 나는 valMinLen 유효성 검사를 추가 할 필요가, 또는 내가 필요는 assembla 사이트의 예입니다 생성 된 오류 문자열에 액세스하여 오류 문자열을 바꿉니다. 가능합니까

+0

질문에 대해 더 구체적으로 설명해 주시겠습니까? –

답변

1

Using LiftScreen field or text에서 설명한 것처럼 사용자 지정 필드를 만드는 방법은 여러 가지가 있습니다.

당신이 LiftScreen에서 makeField 방법을 사용하는 경우, 당신은 무언가 같이 말할 수 있습니다 :

makeField[String](
     title, 
     "",//"No phone number entered", 
     field => SHtml.text("", (_:String)=>{registerThisSnippet()}, ("class","phone")), 
     valMinLen(length,msg) 
) 

당신이 게시 된 예와 같이 더 자세한하지만 철저한 명시 적 개체 만들기를 사용하려는 경우, 당신은 어디에서 조사 할 필요가 Field 클래스에는 유효성 검사를위한 속성이 있습니다.

매우 완벽한 예를 들어
object MyScreen extends LiftScreen { 
    val password = new Field { 
    type ValueType = String 
    override def name = "Password" 
    override implicit def manifest = buildIt[String] 
    override def default = "" 
    override def toForm: Box[NodeSeq] = SHtml.password(is, set _) 
    override def validations = valMinLen(length,msg) _ :: super.validations 
    } 
} 

는 우수한 Lift Cookbook recipe for validations을 확인하십시오.

관련 문제