我有一个PHP程序,它使用HTML表单并使用JavaScript进行验证.HTML表单中有一个隐藏字段,其中包含一个由PHP设置的布尔值,在JavaScript提交时验证,并传递给另一个PHP页面.
当我尝试使用PHP布尔值来设置HTML字段的值时,JavaScript将其评估为空白,因此我使用了1和0并将它们用数字进行比较,现在它工作正常.
我的问题是:这种情况下的最佳做法是什么?如何在不使用1和0的情况下让PHP在PHP驱动的HTML隐藏字段中读取true/false值?或者这只是一个坏主意?
所以我在设计课程时经常遇到这个问题:
class foo {
private Bar bar;
public foo(Bar bar) {
this.bar = bar;
}
public Bar getBar() {
return bar;
}
public void setBar(Bar bar) {
this.bar = bar;
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,很好,对吧?但后来我想“我怎么知道用户会传递一个可接受的bar对象?那么:
private bool validateBar(Bar bar) {
return amIgood(bar);
}
Run Code Online (Sandbox Code Playgroud)
好吧,当然我需要把它和这样的setBar函数放在一起:
public bool setBar(Bar bar) {
if (validateBar(bar)) {
this.bar = bar;
return true;
}
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
好吧,如果那是我需要做的,那么我也必须包含在构造函数中,对吗?除了构造函数没有返回foo对象以外的任何内容的选项,所以我尝试考虑解决方法,如下所示:
public foo(Bar bar) {
if validateBar(bar)
this.bar = bar;
else
throw Exception("Invalid bar …Run Code Online (Sandbox Code Playgroud) boolean ×1
class ×1
constructor ×1
forms ×1
html ×1
java ×1
javascript ×1
oop ×1
php ×1
validation ×1