修改了代码，删掉了save中判断contact是否为空的多余代码
添加了失败的测试，当contact合法或者不合法时应该访问不同的页面
修改了代码，增加了update中的contact的验证，并让测试通过
修改了代码