양식 입력 필드에 html 인코딩을 사용합니다. 새 사용자의 이름을 삽입 할 수있는 새 사용자 개체를 만드는 양식이 있습니다. 스크립트 입력에서이 입력 필드를 막으려면 아래 나열된 save() 액션에서 encodeAsHTML()을 수행하십시오. 속성이 Grails로 인코딩 된 HTML 일 때 도메인 클래스의 유효성을 올바르게 검사하는 방법?
문제 : 가 입력 한 이름은 1 : Schäfchen 2.이 유효성 검사에 실패 할 \ auml로 변환 3. HTML 인코딩 아래에있는 내 유효성 검사 규칙 후 제대로 검증 할 것어떻게 html로 인코딩 된 이름의 유효성을 올바르게 검사 할 수 있습니까?
주어진 다음의 Grails의 클래스 : 내 UserController.groovy에서
class User {
String name
static constraints = {
name blank: false, validator: { val, obj ->
Pattern pattern = Pattern.compile("[a-zA-Z0-9äöüßÄÖÜ\\- ]+")
pattern.matcher(val).matches()
}
}
}
: 만 GSP 뷰에서
dev save() {
def name = params?.name?.encodeAsHTML()
def user = new User()
user.name = name
user.save()
}
왜 당신은 도메인에 HTML로 데이터를 인코딩하는? 페이지에 표시 할 때 항상 /로 인코딩해야합니다. –
몇 가지 샘플 코드를 제공 할 수 있습니까? 언제 encodeAsHTML()을 사용하고 언제 decodeHTML()을 사용합니까? – confile