您好,我是 Griffon 框架的新手,我想在我的应用程序中添加登录功能。以下是我的模型、视图和控制器:
SignInModel.groovy
@ArtifactProviderFor(GriffonModel)
@griffon.transform.Validateable
class SignInModel {
@Bindable String userName
@Bindable String password
static CONSTRAINTS = {
userName(blank: false,nullable: false)
password(blank: false, nullable: false)
}
}
SignInView.groovy
@ArtifactProviderFor(GriffonView)
类签到视图 {
FactoryBuilderSupport builder
SignInModel model
SignInController controller
void initUI() {
builder.with {
application{
frame(title: 'Login', size: [330, 230],
show: true,resizable:false,locationRelativeTo: null,
defaultCloseOperation: EXIT_ON_CLOSE) {
panel(constraints: BorderLayout.CENTER,
border: compoundBorder([emptyBorder(10),titledBorder('Welcome To Tracker')])) {
tableLayout() {
tr {
td {
label(text: "Username")
}
td {
textField(id: "usernameTxt", columns: 15, text: bind(target: model, 'userName', mutual: true))
}
}
tr{
td{
label(text:"Password")
}
td{
passwordField(id:"passwordTxt",columns:15,text:bind(target:model,'password',mutual:true))
}
}
}
}
panel(constraints: BorderLayout.SOUTH) {
button text: 'Login', actionPerformed: {
model?.getErrors()?.clearAllErrors()
controller.signIn()
}
}
}
}
}
}
}
}
SignInController.groovy
@ArtifactProviderFor(GriffonController)
类登录控制器 {
SignInModel model
SignInView view
void signIn(){
try {
if (model?.validate()) {
println("No Error Found..")
} else {
println("Error Found..")
}
}catch (Exception ex){
println("Exception Generated:>>>>>>>>>>>>>>"+ex?.getMessage())
}
}
}
如果用户名和密码为空并显示错误消息,我想更新我的登录视图。我能够在我的模型中收到错误消息,但我的视图没有更新,所以请帮助我。
@注意:我添加了 griffon 验证插件