用Scala实现简单的Web和API服务器(15)

}

这样就可以阻止用户输入非法的name和msg,但出现了另一个问题:用户输入了非法的名字或信息并提交,那么这些信息就会消失,而且不会为错误产生任何反馈。解决方法是,给hello页面渲染一个可选的错误信息,用它来告诉用户出现了什么问题:

@cask.postForm("/")

defpostHello(name:String, msg:String)= {

- if(name != ""&& name.length < 10&& msg != ""&& msg.length < 160){

- messages = messages :+(name -> msg)

- }

- hello

+ if(name == "") hello(Some("Name cannot be empty"))

+ elseif(name.length >= 10) hello(Some("Name cannot be longer than 10 characters"))

+ elseif(msg == "") hello(Some("Message cannot be empty"))

推荐阅读