 	</cfscript>
 </cffunction>
 
-<cffunction name="validate" returntype="void" access="public" output="false" hint="Registers method(s) that should be called to validate objects before they are saved."
-	examples=
-	'
-		<cffunction name="init">
-			<cfscript>
-				// Register the `checkPhoneNumber` method below to be called to validate objects before they are saved
-				validate("checkPhoneNumber");
-			</cfscript>
-		</cffunction>
-
-		<cffunction name="checkPhoneNumber">
-			<cfscript>
-				// Make sure area code is `614`
-				return Left(this.phoneNumber, 3) == "614";
-			</cfscript>
-		</cffunction>
-	'
-	categories="model-initialization,validations" chapters="object-validation" functions="validateOnCreate,validateOnUpdate">
-	<cfargument name="methods" type="string" required="false" default="" hint="Method name or list of method names to call. (Can also be called with the `method` argument.)">
-	<cfargument name="condition" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfargument name="unless" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfargument name="when" type="string" required="false" default="onSave" hint="See documentation for @validatesConfirmationOf.">
-	<cfscript>
-		$registerValidation(argumentCollection=arguments);
-	</cfscript>
-</cffunction>
-
-<cffunction name="validateOnCreate" returntype="void" access="public" output="false" hint="Registers method(s) that should be called to validate new objects before they are inserted."
-	examples=
-	'
-		<cffunction name="init">
-			<cfscript>
-				// Register the `checkPhoneNumber` method below to be called to validate new objects before they are inserted
-				validateOnCreate("checkPhoneNumber");
-			</cfscript>
-		</cffunction>
-
-		<cffunction name="checkPhoneNumber">
-			<cfscript>
-				// Make sure area code is `614`
-				return Left(this.phoneNumber, 3) == "614";
-			</cfscript>
-		</cffunction>
-	'
-	categories="model-initialization,validations" chapters="object-validation" functions="validate,validateOnUpdate">
-	<cfargument name="methods" type="string" required="false" default="" hint="See documentation for @validate.">
-	<cfargument name="condition" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfargument name="unless" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfscript>
-		$registerValidation(when="onCreate", argumentCollection=arguments);
-	</cfscript>
-</cffunction>
-
-<cffunction name="validateOnUpdate" returntype="void" access="public" output="false" hint="Registers method(s) that should be called to validate existing objects before they are updated."
-	examples=
-	'
-		<cffunction name="init">
-			<cfscript>
-				// Register the `check` method below to be called to validate existing objects before they are updated
-				validateOnUpdate("checkPhoneNumber");
-			</cfscript>
-		</cffunction>
-
-		<cffunction name="checkPhoneNumber">
-			<cfscript>
-				// Make sure area code is `614`
-				return Left(this.phoneNumber, 3) == "614";
-			</cfscript>
-		</cffunction>
-	'
-	categories="model-initialization,validations" chapters="object-validation" functions="validate,validateOnCreate">
-	<cfargument name="methods" type="string" required="false" default="" hint="See documentation for @validate.">
-	<cfargument name="condition" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfargument name="unless" type="string" required="false" default="" hint="See documentation for @validatesConfirmationOf.">
-	<cfscript>
-		$registerValidation(when="onUpdate", argumentCollection=arguments);
-	</cfscript>
-</cffunction>
-
 <!--- PUBLIC MODEL OBJECT METHODS --->
 
-<cffunction name="valid" returntype="boolean" access="public" output="false" hint="Runs the validation on the object and returns `true` if it passes it. CFWheels will run the validation process automatically whenever an object is saved to the database, but sometimes it's useful to be able to run this method to see if the object is valid without saving it to the database."
-	examples=
-	'
-		// Check if a user is valid before proceeding with execution
-		user = model("user").new(params.user);
-		if (user.valid())
-		{
-			// Do something here
-		}
-	'
-	categories="model-object,errors" chapters="object-validation" functions="">
-	<cfargument name="callbacks" type="boolean" required="false" default="true" hint="See documentation for @save.">
+<cffunction name="valid" returntype="boolean" access="public" output="false">
+	<cfargument name="callbacks" type="boolean" required="false" default="true">
 	<cfscript>
 		var loc = {};
 		loc.rv = false;

	</cfscript>
</cffunction>

<cffunction name="$validationExists" returntype="boolean" access="public" output="false" hint="Checks to see if a validation has been created for a property.">
	<cfargument name="property" type="string" required="true">
	<cfargument name="validation" type="string" required="true">
	<cfscript>
		var loc = {};
		loc.rv = false;
		for (loc.key in variables.wheels.class.validations)
		{

	</cfscript>
</cffunction>

<cffunction name="validatesNumericalityOf" returntype="void" access="public" output="false">
	<cfargument name="properties" type="string" required="false" default="">
	<cfargument name="message" type="string" required="false">
	<cfargument name="when" type="string" required="false" default="onSave">
	<cfargument name="allowBlank" type="boolean" required="false">
	<cfargument name="onlyInteger" type="boolean" required="false">
	<cfargument name="condition" type="string" required="false" default="">
	<cfargument name="unless" type="string" required="false" default="">
	<cfargument name="odd" type="boolean" required="false">
	<cfargument name="even" type="boolean" required="false">
	<cfargument name="greaterThan" type="numeric" required="false">
	<cfargument name="greaterThanOrEqualTo" type="numeric" required="false">
	<cfargument name="equalTo" type="numeric" required="false">
	<cfargument name="lessThan" type="numeric" required="false">
	<cfargument name="lessThanOrEqualTo" type="numeric" required="false">
	<cfscript>
		$args(name="validatesNumericalityOf", args=arguments);
		$registerValidation(methods="$validatesNumericalityOf", argumentCollection=arguments);
	</cfscript>
</cffunction>

<cffunction name="validatesPresenceOf" returntype="void" access="public" output="false">
	<cfargument name="properties" type="string" required="false" default="">
	<cfargument name="message" type="string" required="false">
	<cfargument name="when" type="string" required="false" default="onSave">
	<cfargument name="condition" type="string" required="false" default="">
	<cfargument name="unless" type="string" required="false" default="">
	<cfscript>
		$args(name="validatesPresenceOf", args=arguments);
		$registerValidation(methods="$validatesPresenceOf", argumentCollection=arguments);
	</cfscript>
</cffunction>

<cffunction name="validatesUniquenessOf" returntype="void" access="public" output="false">
	<cfargument name="properties" type="string" required="false" default="">
	<cfargument name="message" type="string" required="false">
	<cfargument name="when" type="string" required="false" default="onSave">
	<cfargument name="allowBlank" type="boolean" required="false">
	<cfargument name="scope" type="string" required="false" default="">
	<cfargument name="condition" type="string" required="false" default="">
	<cfargument name="unless" type="string" required="false" default="">
	<cfargument name="includeSoftDeletes" type="boolean" required="false" default="true">
	<cfscript>
		$args(name="validatesUniquenessOf", args=arguments);
		arguments.scope = $listClean(arguments.scope);
