我在简单的Android应用程序中写入Firebase数据库时遇到问题.我已将数据库规则设置为公开:
{
"rules": {
".read": true,
".write": true
}
}
Run Code Online (Sandbox Code Playgroud)
创建了一个简单的类Message:
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class Message {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference dbRef = database.getReference();
public String sender;
public String message;
public Message(){}
public Message(String sender, String message) {
this.sender = sender;
this.message = message;
}
}
Run Code Online (Sandbox Code Playgroud)
并设置一个按钮来执行onClick方法writeNewMessage,这些方法是重要的代码行:
int counter = 0;
public void writeNewMessage(View view) {
counter += 1;
Message messageToWrite = new Message("John", "Simple message: " + counter);
String messageId = String.valueOf(counter); …Run Code Online (Sandbox Code Playgroud) 当模型在我的 Web API 项目中验证失败时,我试图返回自定义响应对象。我已将属性附加到模型中,如下所示:
public class DateLessThanAttribute : ValidationAttribute
{
private readonly string _comparisonProperty;
public DateLessThanAttribute(string comparisonProperty)
{
_comparisonProperty = comparisonProperty;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
ErrorMessage = ErrorMessageString;
var currentValue = (DateTime)value;
var property = validationContext.ObjectType.GetProperty(_comparisonProperty);
if (property == null)
throw new ArgumentException("Property with this name not found");
var comparisonValue = (DateTime)property.GetValue(validationContext.ObjectInstance);
if (currentValue > comparisonValue)
return new ValidationResult(ErrorMessage);
return ValidationResult.Success;
}
}
Run Code Online (Sandbox Code Playgroud)
在模型上:
[DateLessThan("EndDate", ErrorMessage = "StartDate must be less than EndDate")]
public DateTime …Run Code Online (Sandbox Code Playgroud)