我找到了关于模型和验证的示例和教程.而且我认为验证(或者至少大部分)应该在模型中,我同意.但我不能用任何示例或教程来说明应该如何做.
谁能帮助我一个简单的例子来说明如何做到这一点?您在哪里可以获得模型中的规则?验证会在哪里发生?如果验证通过或失败,控制器将如何知道?控制器如何获得错误消息和类似的东西?
希望有人可以提供帮助,因为在这里感到有些失落:p
我是一名iOS开发人员,我在项目中使用Massive View控制器,因此我一直在寻找一种更好的方法来构建我的项目,并且遇到了MVVM(Model-View-ViewModel)架构.我一直在用iOS阅读很多MVVM,我有几个问题.我将用一个例子来解释我的问题.
我有一个名为的控制器LoginViewController.
LoginViewController.swift
import UIKit
class LoginViewController: UIViewController {
@IBOutlet private var usernameTextField: UITextField!
@IBOutlet private var passwordTextField: UITextField!
private let loginViewModel = LoginViewModel()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func loginButtonPressed(sender: UIButton) {
loginViewModel.login()
}
}
Run Code Online (Sandbox Code Playgroud)
它没有Model类.但我确实创建了一个名为LoginViewModel放置验证逻辑和网络调用的视图模型.
LoginViewModel.swift
import Foundation
class LoginViewModel {
var username: String?
var password: String?
init(username: String? = nil, password: String? = nil) {
self.username = username
self.password = password
}
func validate() {
if username == nil || …Run Code Online (Sandbox Code Playgroud) 您在Zend Framework中实现模型的方法有哪些?
我已经看到了基本的class User extends Zend_Db_Table_Abstract,然后在你的控制器中调用它:
$foo = new User;
$foo->fetchAll()
但更复杂的用途呢?文档的Quickstart部分提供了这样一个示例,但我仍然觉得我没有在Zend Framework中获得模型的"最佳使用"示例.那里有任何有趣的实现吗?
编辑:我应该澄清(回应CMS的评论)......我知道做更复杂的选择.我对模型概念的整体方法以及其他人如何实现它们的具体例子感兴趣(基本上,手册遗漏的东西和基本的方法光泽的东西)
在下面的Python代码中,我得到了一个UnboundLocalError.据我所知,局部函数共享包含函数的局部变量,但这似乎不是这里的情况.我认识到a在这种情况下这是一个不可变的值,但这应该不是问题.
def outer():
a = 0
def inner():
a += 1
inner()
outer()
Run Code Online (Sandbox Code Playgroud)
看起来内部函数已经收到了父函数中所有引用的副本,因为UnboundLocalError如果值的值a被包装在一个可变类型中,我就不会得到异常.
有人能够澄清这里的行为,并指出相应的Python文档吗?
我有一个活动模型.事件可以具有父事件,从模型中的列(parent_event_id)设置.我需要能够has_many :event在模型上做,所以我可以做,例如,event.child_event或event.parent_event.但我的谷歌搜索并没有那么好.
我的型号:
class Event < ActiveRecord::Base
attr_accessible :days_before, :event_name, :event_date, :list_id, :recipient_email, :recipient_name, :parent_event_id, :is_deleted, :user_id
belongs_to :user
has_many :event_email
has_many :event
end
Run Code Online (Sandbox Code Playgroud)
我的架构:
create_table "events", :force => true do |t|
t.datetime "event_date"
t.integer "days_before"
t.string "recipient_email"
t.integer "list_id"
t.string "recipient_name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "user_id"
t.string "event_name"
t.integer "parent_event_id"
t.boolean "is_deleted", :default => false
end
Run Code Online (Sandbox Code Playgroud) 我正在写一个游戏引擎,我想知道我应该使用什么3D模型格式/加载/导出?Obj看似普遍且容易,但它似乎也不可靠,因为那里的大多数模型都包含错误,并且它不存储任何接近其他格式的地方.
似乎有专门用于MD2/3/5等游戏的格式,但我不确定,如果我建模我会使用wings3d,而且我不知道除了纯粹加载我需要的内容以及格式ID必须支持的其他细节实现,比如我需要实现IK?我可以使用脚本化的每片动画而不是反向运动学和骨骼绑定吗?
我正在构建一个配置文件页面,其中包含许多与特定模型(租户)相关的部分 - AboutMe,MyPreferences - 这些事情.这些部分中的每一部分都将是部分视图,以允许使用AJAX进行部分页面更新.
当我点击ActionResultTenantController中的一个时,我能够创建一个强类型视图,并将模型数据传递给视图.部分观点无法实现这一点.
我创建了一个局部视图_TenantDetailsPartial:
@model LetLord.Models.Tenant
<div class="row-fluid">
@Html.LabelFor(x => x.UserName) // this displays UserName when not in IF
@Html.DisplayFor(x => x.UserName) // this displays nothing
</div>
Run Code Online (Sandbox Code Playgroud)
然后我有一个视图MyProfile,将呈现提到的部分视图:
@model LetLord.Models.Tenant
<div class="row-fluid">
<div class="span4 well-border">
@Html.Partial("~/Views/Tenants/_TenantDetailsPartial.cshtml",
new ViewDataDictionary<LetLord.Models.Tenant>())
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我将代码包装在DIV _TenantDetailsPartial里面@if(model != null){},那么页面上就不会显示任何内容,所以我猜测有一个空模型被传递给视图.
为什么我ActionResult在'session'中创建一个来自用户的强类型视图会被传递给视图?如何将'session'中的用户传递给不是从ActionResult?创建的局部视图?如果我遗漏了这个概念,请解释一下.
是否有命令在Laravel 5中安全删除模型?要创建我们使用的模型
php artisan make:model modelname
Run Code Online (Sandbox Code Playgroud)
这将在app文件夹下创建一个模型,并在其中创建一个迁移database/migrations
但我找不到的是如何删除模型......
当我做类似的事情SomeModel::with('user')时返回一个Query\Builder实例.如何在不需要调用with()(或类似)的情况下获取此实例?
例如,我尝试过:new SomeModel但它显然会返回我的模型的实例,而不是查询构建器(不对我工作).在SomeModel::getQuery没有工作过,因为它返回一个Query\Builder不相关的我的模型.
我需要它来基于一些条件设置.所以最初它需要是空的,就像它:
$someBuilder = SomeModel::getQueryBuilder(); // eg.
if(condition()) {
$someBuilder->where(...);
}
$someResults = $someBuilder->get();
Run Code Online (Sandbox Code Playgroud)