欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

PlayFramework完整实现一个APP(七)

程序员文章站 2022-04-30 19:43:53
...
1.添加验证码

application Controller添加captcha()

public static void captcha() {
Images.Captcha captcha = Images.captcha();
renderBinary(captcha);
}

  

添加Route

GET /captcha Application.captcha

  

访问 http://localhost:9000/captcha

PlayFramework完整实现一个APP(七)

验证码图片已经实现了,现在需要做的是验证输入信息与验证码一致

修改captcha()方法

public static void captcha(String id) {
Images.Captcha captcha = Images.captcha();
String code = captcha.getText("#E4EAFD");
Cache.set(id, code, "10mn");
renderBinary(captcha);
}

  

修改show()方法

public static void show(Long id) {
Post post = Post.findById(id);
String randomID = Codec.UUID();
render(post, randomID);
}

  

修改show.html页面

在Comment下方添加验证码图片,和验证控件

<p>
<label for="content">Your message: </label>
<textarea name="content" id="content">${params.content}</textarea>
</p>
<p>
<label for="code">Please type the code below: </label>
<img src="@{Application.catcha(randomId)}">
<br />
<input type="text" name="code" id="code" size="18" value="" />
<input type="hidden" name="randomId" value="${randomId}" />
</p>
<p>
<input type="submit" value="Submit your comment" />
</p>

  

2.验证

修改postComment 方法

public static void postComment(
Long postId,
@Required(message="Author is required") String author,
@Required(message="A message is required") String content,
@Required(message="Please type the code") String code,
String randomId) {
Post post = Post.findById(postId);
validation.equals(code, Cache.get(randomId)).message("Invalid code. Please type it again");

if(validation.hasErrors()) {
render("Application/show.html", post);
}

post.addComment(author, content); Flash.success("Thanks for posting %s", author);
Cache.delete(randomId);
show(postId);
}

  

修改show.html页面

#{ifErrors}
<p class="error">
${errors[0]}
</p>
#{/ifErrors}

以上就是PlayFramework完整实现一个APP(七)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签: PlayFramework APP