Fix page name validation.

This commit is contained in:
takezoe
2013-06-16 13:29:44 +09:00
parent c259655adc
commit ffd0c4f195

View File

@@ -11,7 +11,6 @@ class WikiController extends WikiControllerBase
trait WikiControllerBase extends ControllerBase { trait WikiControllerBase extends ControllerBase {
self: WikiService with RepositoryService with WritableRepositoryAuthenticator with ReadableRepositoryAuthenticator => self: WikiService with RepositoryService with WritableRepositoryAuthenticator with ReadableRepositoryAuthenticator =>
// TODO ユーザ名の先頭に_は使えないようにする
case class WikiPageEditForm(pageName: String, content: String, message: Option[String], currentPageName: String) case class WikiPageEditForm(pageName: String, content: String, message: Option[String], currentPageName: String)
val newForm = mapping( val newForm = mapping(
@@ -162,6 +161,8 @@ trait WikiControllerBase extends ControllerBase {
def validate(name: String, value: String): Option[String] = { def validate(name: String, value: String): Option[String] = {
if(!value.matches("^[a-zA-Z0-9\\-_]+$")){ if(!value.matches("^[a-zA-Z0-9\\-_]+$")){
Some("Page name contains invalid character.") Some("Page name contains invalid character.")
} else if(value.startsWith("_")){
Some("Page name can not start with '_'.")
} else { } else {
None None
} }